CVE-2026-116804 json
DOMPurify from 3.4.4 before 3.4.17 SAFE_FOR_TEMPLATES Bypass via Shadow Root Content
published 2026-10-22 17 d ago modified 2026-11-02 6 d ago also EUVD-2026-110512 , GHSA-cg2g-xh64-v4q7
- cvss
- 6.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 7%
- public exploits
- 0
- none known
Summary
DOMPurify from 3.4.4 before 3.4.17 contains a SAFE_FOR_TEMPLATES bypass that lets attackers preserve template expressions in attached shadow roots when using RETURN_DOM, RETURN_DOM_FRAGMENT, or IN_PLACE modes. Attackers can split expressions across text nodes separated by disallowed elements, which merge after removal and are evaluated by downstream template engines for cross-site scripting.
Patch / fix
- npm dompurify 3.4.17
- cure53 DOMPurify 3.4.17
- node-dompurify Debian 14 3.4.17+dfsg-1
debian advisories DEBIAN-CVE-2026-116804
- github.com/cure53/DOMPurify@a77a3e7 commit
- github.com/cure53/DOMPurify#1672 pull request
- github.com/cure53/DOMPurify/releases/tag/3.4.17 release
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-116804 updated cvss 6.1
dompurify: DOMPurify: Cross-site scripting via sanitization bypass in attached shadow roots
-
Red Hat Hardened Images ruff 0.15.11-1.1.hum1, grafana13.1 13.1.8-0.4.hum1, grafana13.2 13.2.4-0.3.hum1, grafana12.4 12.4.13-0.3.hum1not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 6 d ago
Exploit prediction
0.18% chance of exploitation in the next 30 days, higher than 7% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/cure53/DOMPurify/security/advisories/GHSA-cg2g-xh64-v4q7 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.1 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N |
| CNA | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| CNA | 4.0 | 5.1 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | dompurify | >=3.4.4, <3.4.17 |
3.4.17 |
Affected products
- cure53 DOMPurify
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/cure53/DOMPurify/pull/1672
web
-
github.com
/cure53/DOMPurify/commit/a77a3e78b59f72fa4d1c83f22e121ad9cc7d3575
web
-
github.com
/cure53/DOMPurify/security/advisories/GHSA-cg2g-xh64-v4q7
vendor-advisory, exploit, web
-
vulncheck.com
/advisories/dompurify-from-3.4.4-before-3.4.17-safe-for-templates-bypass-via-shadow-root-content
third-party-advisory
-
github.com
/cure53/DOMPurify
package
-
github.com
/cure53/DOMPurify/releases/tag/3.4.17
web
Sources
- CVE List CVE-2026-116804
- GitHub Advisory GHSA-cg2g-xh64-v4q7
- NVD CVE-2026-116804
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.