CVE-2026-46360 phpMyFAQ - Stored XSS via Entity Decoding Depth Limit Bypass in SVG Sanitizer
Authenticated users can inject malicious JavaScript via crafted SVG files, leading to arbitrary code execution when viewed by others.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-46360?
CVE-2026-46360 is a medium-severity cross-site scripting vulnerability in thorsten phpmyfaq, published on 15 May 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official 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.
Weakness: CWE-79
Which versions are affected by CVE-2026-46360?
4 open source packages ship an affected version, including thorsten/phpmyfaq and phpmyfaq/phpmyfaq.
| Package | Affected | Fixed in |
|---|---|---|
thorsten/phpmyfaq Packagist | All versions | 4.1.2 |
thorsten/phpmyfaq Packagist | All versions | 4.1.2 |
phpmyfaq/phpmyfaq Packagist | All versions | 4.1.2 |
phpmyfaq/phpmyfaq Packagist | All versions | 4.1.2 |
How do I fix CVE-2026-46360?
Upgrade thorsten/phpmyfaq to 4.1.2 or later.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-46360 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-46360 exists.
Sources
Also known as GHSA-whqh-9pq5-c7r3.