Cross-site scripting in DOMPurify IN_PLACE mode bypasses sanitization
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- None · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-79.
Summary
DOMPurify before 3.4.16 contains a cross-site scripting flaw (CWE-79) in its IN_PLACE mode. The mode returns a force-removed style element whose text still carries markup, so sanitization is bypassed. An unauthenticated remote attacker who supplies a crafted style element can get script to run when the application serializes and re-parses the returned node.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
DOMPurify before 3.4.16 contains a cross-site scripting vulnerability that allows attackers to bypass sanitization because IN_PLACE mode returns a force-removed style element whose text content still carries markup. Attackers can supply a style element containing a closing style tag and an img onerror payload, which executes script when the application serializes and re-parses the returned node.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Upgrade DOMPurify to version 3.4.16 or later, the fixed version listed for this product.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA DOMPurify (cure53) Fixed in 3.4.16
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
cure53 DOMPurify 3.4.16
2 records Highest priority Priority MEDIUM 1 MEDIUM, 1 LOW
Other records, highest priority first
- TI-2026-71160 Cross-site scripting in DOMPurify IN_PLACE mode hooksPriority LOW 28
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
Not affected: 1 product
- Red Hat Hardened Images
Timeline
- 2026-10-12 Threatist record created from CVE-2026-109345
- 2026-10-12 Alias added: GHSA-cjhx-p48c-gfm9
- 2026-10-13 Affected versions changed · Red Hat
- 2026-10-13 CVSS score added · Red Hat
- 2026-10-13 CISA SSVC decision points changed
- 2026-10-13 Priority changed: LOW → MEDIUM
References
More cure53 vulnerabilities
- TI-2026-34986 DOMPurify XSS via `selectedcontent` re-clone CVSS 3.1HIGH 8.2
- TI-2025-30422 Path traversal in cure53 DOMPurify CVSS 3.1HIGH 7.5
- TI-2026-29847 DOMPurify: Prototype Pollution to XSS Bypass via CUSTOM_ELEMENT_HANDLING Fallback CVSS 3.1MEDIUM 6.9
- TI-2026-36811 DOMPurify IN_PLACE Sanitization Bypass via Attached Shadow Root Inside <template>.content CVSS 4.0MEDIUM 6.3
- TI-2026-36614 DOMPurify: IN_PLACE mode preserves attributes of a clobbered root element, allowing XSS via attacker-controlled root DOM CVSS 3.1MEDIUM 6.1
- TI-2026-36613 DOMPurify: Cross-realm IN_PLACE sanitization leaves executable markup intact via realm-bound `instanceof` checks CVSS 3.1MEDIUM 6.1
Sources
- CVE-2026-109345 · CVE Program
- CVE-2026-109345 · NVD
- FIRST EPSS
- GHSA-cjhx-p48c-gfm9 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-109345 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences