DOM XSS in DOMPurify via IN_PLACE hook-detached subtrees
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.17 contains a cross-site scripting flaw (CWE-79) where an IN_PLACE hook that removes a parent or sibling node leaves attacker markup in the detached subtree unsanitized. Event handlers in that markup stay armed, so an element such as img onerror fires after sanitize() returns. A remote attacker without privileges can cause DOM XSS, though user interaction is required.
Written with Claude Haiku 5.5 from the sources below · 2026-11-02
Description from the CNA
DOMPurify before 3.4.17 contains a cross-site scripting vulnerability that allows attackers to keep event handlers armed when an IN_PLACE hook removes a parent or sibling node. Attacker markup in detached subtrees is never walked or neutralized, so handlers like img onerror fire after sanitize() returns, causing DOM XSS.
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.17 or later, which is the fixed version.
Written with Claude Haiku 5.5 from the sources below · 2026-11-02
- Fix · CNA DOMPurify (cure53) Fixed in 3.4.17
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
cure53 DOMPurify 3.4.17
3 records Highest priority Priority MEDIUM 3 MEDIUM
Other records, highest priority first
- TI-2026-80969 SAFE_FOR_TEMPLATES bypass in DOMPurify enables cross-site scriptingPriority MEDIUM 56
- TI-2026-80967 Cross-site scripting in DOMPurify via SMIL attributeName bypassPriority MEDIUM 56
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-26 Threatist record created from CVE-2026-116803
- 2026-10-27 Affected versions changed · Red Hat
- 2026-10-27 CVSS score added · Red Hat
- 2026-10-27 Alias added: GHSA-77h4-4vqj-j7vc
- 2026-10-31 CISA SSVC decision points changed
- 2026-10-31 Priority changed: LOW → MEDIUM
- 2026-11-02 Affected versions changed · Red Hat
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-116803 · CVE Program
- CVE-2026-116803 · NVD
- FIRST EPSS
- GHSA-77h4-4vqj-j7vc · GitHub Advisory Database · CC BY 4.0
- CVE-2026-116803 · 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