CVE-2026-82396 Sulu: Stored XSS via media download inline-disposition override
An attacker with media upload permissions can store malicious HTML/XML files that execute JavaScript in the victim's browser when accessed via a specific inline download link.
- 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-82396?
CVE-2026-82396 is a medium-severity cross-site scripting vulnerability in sulu, published on 31 Aug 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
Sulu is an open-source PHP content management system based on the Symfony framework. Prior to versions 2.6.25 and 3.0.8, src/Sulu/Bundle/MediaBundle/Controller/MediaStreamController.php allows the /media/{id}/download/{slug} route and its administration variant to honor the inline query parameter for scriptable MIME types. The vulnerable stored Content-Type values include text/html, application/xhtml+xml, text/xml, and application/xml. An attacker with media upload permission can store an HTML, XHTML, or XML document and create a link using inline=1, causing the application to return the file on the Sulu origin instead of forcing Content-Disposition attachment. When an authenticated victim opens the link, attacker-controlled JavaScript can execute with the victim's Sulu-origin session and can read data or perform actions as that victim. This issue is fixed in versions 2.6.25 and 3.0.8.
Weakness: CWE-79
Which versions are affected by CVE-2026-82396?
4 open source packages ship an affected version, including sulu/sulu.
| Package | Affected | Fixed in |
|---|---|---|
sulu/sulu Packagist | All versions | 2.6.25 |
sulu/sulu Packagist | All versions | 2.6.25 |
sulu/sulu Packagist | From 3.0.0-alpha1 | 3.0.8 |
sulu/sulu Packagist | From 3.0.0-alpha1 | 3.0.8 |
How do I fix CVE-2026-82396?
Upgrade sulu/sulu to a fixed version for your release line: 2.6.25 or 3.0.8.
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-82396 being exploited?
There is no known exploitation of CVE-2026-82396 in the wild and no public exploit code.
Sources
Also known as GHSA-pp4x-ccxq-6r33.