• Software Link:
• Affected Versions:
All versions from 3.1.1 to 3.3.4.
• Vulnerability Description:
The vulnerable code is located in the /admin/api.php script:
#step 2 - setup request $in = simplexml_load_string($_POST['data'], 'SimpleXMLExtended', LIBXML_NOCDATA); $request = new API_Request(); $request->add_data($in);
User input passed via the “data” POST parameter is not properly sanitized before being used in a call to the “simplexml_load_string()” function at line 23. This can be exploited to carry out XML External Entity (XXE) attacks, resulting in arbitrary file disclosures. Successful exploitation of this vulnerability requires the External API to be enabled from within the gsconfig.php file and the application running on PHP before version 5.3.23 or 5.4.13.
NOTE: this vulnerability might be abused to disclose sensitive data stored in XML files, which might allow attackers to bypass the authentication mechanism and access the administration panel in order to achieve arbitrary PHP code execution.
Update to version 3.3.5 Beta 1 or disable the External API.
• Disclosure Timeline:
[22/10/2014] – First attempt to contact the vendor
[28/10/2014] – Issue reported to http://git.io/HEjBUg
[29/10/2014] – CVE number requested
[13/11/2014] – CVE number assigned
[02/12/2014] – Version 3.3.5 Beta 1 released
[31/12/2014] – Publication of this advisory
• CVE Reference:
Vulnerability discovered by Egidio Romano.