phpMyFAQ is an open source FAQ web application. Prior to version 4.1.1, the MediaBrowserController::index() method handles file deletion for the media browser. When the fileRemove action is triggered, the user-supplied name parameter is concatenated with the base upload directory path without any path traversal validation. The FILTER_SANITIZE_SPECIAL_CHARS filter only encodes HTML special characters (&, ', ", <, >) and characters with ASCII value < 32, and does not prevent directory traversal sequences like ../. Additionally, the endpoint does not validate CSRF tokens, making it exploitable via CSRF attacks. This issue has been patched in version 4.1.1.
Fix
Patch, vendor advisory and mitigation references on NVD 2
- https://github.com/thorsten/phpMyFAQ/security/advisories/GHSA-38m8-xrfj-v38x Exploit, Mitigation, Vendor Advisory
- https://github.com/thorsten/phpMyFAQ/security/advisories/GHSA-38m8-xrfj-v38x Exploit, Mitigation, Vendor Advisory
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 8.1 · phpmyfaqNVD modified 2026-10-26 22:10
Affected (CPE criteria) 1
cpe:2.3:a:phpmyfaq:phpmyfaq:*:*:*:*:*:*:*:*
References 3
- https://github.com/thorsten/phpMyFAQ/releases/tag/4.1.1 Product
- https://github.com/thorsten/phpMyFAQ/security/advisories/GHSA-38m8-xrfj-v38x Exploit, Mitigation, Vendor Advisory
- https://github.com/thorsten/phpMyFAQ/security/advisories/GHSA-38m8-xrfj-v38x Exploit, Mitigation, Vendor Advisory