-
Notifications
You must be signed in to change notification settings - Fork 114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XML External Entity (XXE) Vulnerability in admin/api.php #944
Comments
libxml_disable_entity_loader should be default in 5.3.2+ api is not really supported anymore, and has not been maintained since 3.1, it is not recommended for use as it is and always has been experimental. Not sure if it will be fixed or removed, it needs to be rewritten entirely, using modern api methods, and security |
I think the default setting is true since PHP 5.4.13, indeed I'm able to exploit this vulnerability on 5.3.3.
The API token is not required to exploit this vulnerability, neither authentication. The only requirement is the GSEXTAPI constant defined.
I don't see "experimental" or "Not recommended" near the GSEXTAPI description in this page. |
gotcha, I tried finding where I read that, but I cant find it again, i had an issue on it months ago and closed it because it seemed to be a non issue, perhaps I was wrong. ( maybe i am thinking remote xxe, if there is an option for external url entities) I need to update that wiki article desperately, nonone had ever even used the API that i know of, or even tested it, it was written by a original author a long time ago. |
FYI: the Common Vulnerabilities and Exposures project has assigned the name CVE-2014-8790 to this vulnerability. |
Last week I tried to notify you about this issue by sending an email to some @get-simple.info addresses that I found on this page (including info@get-simple.info and security@get-simple.info), but I haven't received a response, so I'm opening this ticket.
When the External API is enabled from within the gsconfig.php file, an attacker might be able to carry out XML External Entity (XXE) attacks resulting in arbitrary file disclosures. This is the vulnerable line of code, where the simplexml_load_string() function is used with user input passed via the 'data' POST parameter. To fix this vulnerability you may want to use the libxml_disable_entity_loader() function.
Since GetSimple is an XML-based CMS, 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 code execution. On the other hand, the vulnerability is relatively minor, because it's mitigated by the fact that the 'GSEXTAPI' constant is not defined by default.
The text was updated successfully, but these errors were encountered: