CVE-2026-46360
Description
phpMyFAQ before 4.1.2 contains a stored cross-site scripting vulnerability in SvgSanitizer::decodeAllEntities() that limits recursive entity decoding to 5 iterations, allowing attackers to bypass sanitization. Authenticated users with FAQ_EDIT permission can upload malicious SVG files with deeply nested ampersand encoding around numeric HTML entities to reconstruct javascript: URLs, which execute arbitrary JavaScript when clicked by other users viewing the uploaded SVG.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
No mitigations published for this CVE yet.
The vendor-content worker queues fetches as references arrive (check back in a few minutes). Or โ if you've already worked around this in production โ publish your fix to the community-verified tier.
โ Propose a mitigation on Community โ Mitigations published via the community go through AI scoring + 2 human reviewers + 7-day silent objection window before landing here withsource_tier=community-verified.
Package impact
| Ecosystem | Package | Vulnerable | Fixed |
|---|---|---|---|
| Packagist | thorsten/phpmyfaq | <4.1.2 | |
| Packagist | phpmyfaq/phpmyfaq | <4.1.2 | |
| Packagist | phpMyFAQ/phpMyFAQ | <4.1.2 | 4.1.2 |
| Packagist | thorsten/phpMyFAQ | <4.1.2 | 4.1.2 |
| COMPOSER | thorsten/phpMyFAQ | < 4.1.2 | 4.1.2 |
| COMPOSER | phpMyFAQ/phpMyFAQ | < 4.1.2 | 4.1.2 |
References
- https://github.com/advisories/GHSA-wj3q-vw2v-3rj3
- https://github.com/thorsten/phpMyFAQ/security/advisories/GHSA-whqh-9pq5-c7r3
- https://www.vulncheck.com/advisories/phpmyfaq-stored-xss-via-entity-decoding-depth-limit-bypass-in-svg-sanitizer
- https://nvd.nist.gov/vuln/detail/CVE-2026-46360
- https://github.com/thorsten/phpMyFAQ
CWEs
CWE-79
Community-verified mitigations for this CVE will appear above when contributors publish them.
Verify integrity in audit chain (admin only). AS-IS.