Description
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.
Affected products
phpmyfaq: phpmyfaq
References3
- github.com/thorsten/phpMyFAQ/security/advisories/GHSA-38m8-xrfj… ExploitMitigationVendor Advisory
- github.com/thorsten/phpMyFAQ/security/advisories/GHSA-38m8-xrfj… ExploitMitigationVendor Advisory
- github.com/thorsten/phpMyFAQ/releases/tag/4.1.1 Product
Metrics
- CVSS 3.1
-
8.1
HIGH
Score source: NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H - EPSS — exploit probability
- 1% percentile: 54 · as of 12 November 2026
- CWE
- CWE-22
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.