CVE-2026-53606 sanitize-html has incomplete URI scheme validation in that allows javascript: URIs through action, formaction, data, poster, and background attributes

Medium 5.4 Published Updated

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.

PackageAffectedFixed in
sanitize-html npmFrom 1.18.02.17.5
sanitize-html npmFrom 1.18.02.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.

Is CVE-2026-53606 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free