
Oxwall 1.8.0: XSS & Open Redirect
Date: 2016-09-15 10:07:031. Introduction
Affected Product: | Oxwall 1.8.0 (build 9900) |
Fixed in: | 1.8.2 |
Fixed Version Link: | https://developers.oxwall.com/download |
Vendor Website: | http://www.oxwall.org/ |
Vulnerability Type: | XSS & Open Redirect |
Remote Exploitable: | Yes |
Reported to vendor: | 11/21/2015 |
Disclosed to public: | 09/15/2016 |
Release mode: | Coordinated Release |
CVE: | n/a |
Credits | Tim Coen of Curesec GmbH |
2. Overview
Oxwall is a social networking software written in PHP. In version 1.8.0, it is vulnerable to multiple XSS attacks and a persistent open redirect.
The XSS vulnerabilities are reflected as well as persistent, and can lead to the stealing of cookies, injection of keyloggers, or the bypassing of CSRF protection.
3. Details
XSS 1: Reflected XSS
CVSS: Medium 4.3 AV:N/AC:M/Au:N/C:N/I:P/A:N
When performing a ping request, the method value is echoed unencoded, leading to reflected XSS.
Proof of Concept:
Code:
XSS 2: Persistent XSS
CVSS: Medium 4.3 AV:N/AC:M/Au:N/C:N/I:P/A:N
The name of a photo album is vulnerable to persistent XSS in two places: When viewing a user profile, and after editing the album. Both of these are DOM based XSS vulnerabilities, and both of these require some interaction of the victim, eg hovering or clicking.
Proof of Concept:
XSS 3: Self-XSS
CVSS: Low 2.6 AV:N/AC:H/Au:N/C:N/I:P/A:N
The chat window is vulnerable to self-XSS. It may be possible to exploit this issue via ClickJacking in some browsers.
Proof of Concept:
Persistent Open Redirect
CVSS: Medium 4.3 AV:N/AC:M/Au:N/C:N/I:P/A:N
The real name of a user is echoed inside meta tags without proper encoding. Tags are stripped, which prevents an attacker from adding new tags, but it is still possible to add additional attributes to the meta tag, leading to an open redirect and potentially XSS in older browsers.
Proof of Concept:
4. Solution
To mitigate this issue please upgrade at least to version 1.8.2.
Please note that a newer version might already be available.
5. Report Timeline
11/21/2015 | Informed Vendor about Issue (no reply) |
12/10/2015 | Reminded Vendor of Disclosure Date |
12/15/2015 | Vendor requests more time |
01/13/2016 | Contacted Vendor, Vendor requests more time |
02/01/2016 | Contacted Vendor, Vendor requests more time |
02/22/2016 | Vendor releases fix |
09/15/2016 | Disclosed to public |