lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <0MdH7v-1bSkTH0kdP-00IXSo@mrelayeu.kundenserver.de>
Date: Thu, 15 Sep 2016 17:03:55 +0200
From: "Curesec Research Team (CRT)" <crt@...esec.com>
To: fulldisclosure@...lists.org
Subject: [FD] Oxwall 1.8.0: XSS & Open Redirect

Security Advisory - Curesec Research Team

1. 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:


<html>
  <body>
    <form action="http://localhost/oxwall-1.8.0/base/ping/index/" method="POST">
      <input type="hidden" name="request" value="{"stack":[{"command":"<img src=a onerror=alert(1)>","params":{}}]}" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

Code:


ow_system_plugins/base/controllers/ping.php

    $responseStack[] = array(
'command' => $c['command'],
'result' => $event->getData()
    );
}

echo json_encode(array(
    'stack' => $responseStack
));

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:


0. Register an account
1. Create a new album with the name
    '"><img src=no onerror=alert(1)>
2. Visit the users profile:
    http://localhost/oxwall-1.8.0/user/[username]
3. Hover over the image belonging to that album

An alternative to steps 2. and 3. is:

2. use CSRF to log the victim into the account with the injected album name
3. Use ClickJacking to get user to click "Edit Album" and then click "Done"

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:


Open a chat and paste the following into the text field (there is no need to send it, although that would trigger the vulnerability again as well):
    '"><img src=no onerror=alert(1)>

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:


1. Register a new user. As real name use:
    5;URL=http://google.com/" http-equiv="refresh" foo="
2. Visit the profile of that user:
    http://localhost/oxwall-1.8.0/user/[username]

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


Blog Reference:
https://www.curesec.com/blog/article/blog/Oxwall-180-XSS-amp-Open-Redirect-148.html
 
--
blog:  https://www.curesec.com/blog
tweet: https://twitter.com/curesec

Curesec GmbH
Curesec Research Team
Josef-Orlopp-Straße 54
10365 Berlin, Germany

_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ