CVE-2026-53606 sanitize-html has incomplete URI scheme validation in that allows javascript: URIs through action, formaction, data, poster, and background attributes
Incomplete URI validation in sanitize-html allows javascript: URIs in specific attributes, enabling XSS if those attributes are explicitly allowed.
- 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-53606?
CVE-2026-53606 is a medium-severity cross-site scripting vulnerability in apostrophecms sanitize-html, published on 12 Jun 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
ApostropheCMS is an open-source Node.js content management system, and sanitize-html provides a simple HTML sanitizer with a clear API. Versions of sanitize-html prior to 2.17.5 use `allowedSchemesAppliedToAttributes` (default: `['href', 'src', 'cite']`) to gate the `naughtyHref()` function that blocks dangerous URI schemes like `javascript:` and `vbscript:`. The HTML specification defines 10+ attributes that accept URIs (`action`, `formaction`, `data`, `poster`, `background`, `ping`, `xlink:href`, `dynsrc`, `lowsrc`), but none of these are included in the default gate list. When a developer allows any of these attributes in their configuration, `javascript:` URIs pass through completely unmodified, enabling XSS. Version 2.17.5 patches the issue.
Weakness: CWE-79
Which versions are affected by CVE-2026-53606?
2 open source packages ship an affected version, including sanitize-html.
| Package | Affected | Fixed in |
|---|---|---|
sanitize-html npm | From 1.18.0 | 2.17.5 |
sanitize-html npm | From 1.18.0 | 2.17.5 |
How do I fix CVE-2026-53606?
Upgrade sanitize-html to 2.17.5 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-53606 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-53606 exists.
Sources
Also known as CLEANSTART-2026-IA44720, CLSA-2026-1786373316, ECHO-be5c-2a34-b344, GHSA-vccv-cmxp-4j9h, MINI-2q2f-pc4v-w45v, MINI-vrpq-f6wx-2mwc.