CVE-2026-65912 DOMPurify before 3.3.2 URI Validation Bypass via ADD_ATTR

Medium 5.1 Published Updated

Attackers can bypass URI validation in DOMPurify using specific predicate functions to inject JavaScript, leading to DOM-based XSS.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-65912?

CVE-2026-65912 is a medium-severity cross-site scripting vulnerability in cure53 DOMPurify, published on 23 Jul 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official description

DOMPurify before 3.3.2 contains a URI validation bypass vulnerability when ADD_ATTR is provided as a predicate function via EXTRA_ELEMENT_HANDLING.attributeCheck. Attackers can supply a predicate that accepts specific attribute and tag combinations to bypass URI-safe validation, allowing unsafe protocols like javascript: to survive sanitization and execute as DOM-based XSS when the link is activated.

Weakness: CWE-79

Which versions are affected by CVE-2026-65912?

2 open source packages ship an affected version, including dompurify. It affects 1 product.

PackageAffectedFixed in
dompurify npmAll versions3.3.2
dompurify npmAll versions3.3.2

Products include Cure53 Dompurify.

How do I fix CVE-2026-65912?

Upgrade dompurify to 3.3.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-65912 being exploited?

There is no known exploitation of CVE-2026-65912 in the wild and no public exploit code.

Sources

Also known as CLEANSTART-2026-BC33249, CLSA-2026-1784769607, CLSA-2026-1784856415, DEBIAN-CVE-2026-65912, ECHO-6f5f-72eb-f9a6, GHSA-cjmm-f4jc-qw8r and 12 more.

Is CVE-2026-65912 in your software?

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

Check your SBOMs for free