
HumHub 1.0.1: XSS
Date: 2017-03-17 09:57:191. Introduction
Affected Product: | HumHub 1.0.1 and earlier |
Fixed in: | 1.1.1 |
Fixed Version Link: | https://www.humhub.org/en/download/default/form?version=1.1.1&type=zip |
Vendor Website: | https://www.humhub.org/ |
Vulnerability Type: | XSS |
Remote Exploitable: | Yes |
Reported to vendor: | 01/10/2016 |
Disclosed to public: | 03/17/2017 |
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 1.0.1 and earlier, it is vulnerable to a reflected XSS attack if debugging is enabled, as well as a self-XSS attack. This allows an attacker to steal cookies, inject JavaScript keyloggers, or bypass CSRF protection.
3. Details
XSS 1: Reflected XSS
CVSS: Medium 4.3 AV:N/AC:M/Au:N/C:N/I:P/A:N
Description: When the debug mode is enabled, which it is by default, the UserSearch parameter is vulnerable to reflected XSS. Additionally, the resulting error page discloses all cookies - even httpOnly cookies -, and the contents of the $_SERVER array.
Proof of Concept:
http://localhost/humhub-0.20.0/index.php?UserSearch[last_login]=<script>alert(1)</script>&r=admin%2Fuser
XSS 2: DOM-based Self-XSS
CVSS: Low 2.6 AV:N/AC:H/Au:N/C:N/I:P/A:N
There is a reflected DOM-based self-XSS vulnerability in HumHub. It may be possible to exploit this issue via ClickJacking in some browsers.
Proof of Concept:
Visit the profile of a user: http://localhost/humhub-0.20.0/index.php?r=space%2Fspace&sguid=d2f06d0a-47e1-4549-b469-c8a1df48faca In the "What's on your mind?"-text box enter: '"><img src=no onerror=alert(5)>
4. Solution
To mitigate this issue please upgrade at least to version 1.1.1:
https://www.humhub.org/en/download/default/form?version=1.1.1&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 |
08/16/2016 | Vendor releases partial fix |
09/26/2016 | Vendor releases fix |
03/27/2017 | Disclosed to public |