Vulnerability Description
DOMPurify through 3.3.3 fails to sanitize DOM elements passed via IN_PLACE mode when the element originates from a different window/realm (e.g., an iframe's contentDocument). A cross-realm instanceof check in the private _isNode() function returns false for foreign-realm nodes, causing DOMPurify to stringify the element (yielding '[object HTMLDivElement]'), silently reset IN_PLACE to false, and return the unsanitized element unchanged with any XSS payloads intact.
CVSS Score
MEDIUM
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Cure53 | Dompurify | < 3.4.4 |
Related Weaknesses (CWE)
References
- https://github.com/cure53/DOMPurify/security/advisories/GHSA-4w3q-35jp-p934ExploitThird Party Advisory
- https://www.vulncheck.com/advisories/dompurify-before-cross-site-scripting-via-iThird Party Advisory
- https://github.com/cure53/DOMPurify/security/advisories/GHSA-4w3q-35jp-p934ExploitThird Party Advisory
FAQ
What is CVE-2026-65904?
CVE-2026-65904 is a vulnerability with a CVSS score of 4.7 (MEDIUM). DOMPurify through 3.3.3 fails to sanitize DOM elements passed via IN_PLACE mode when the element originates from a different window/realm (e.g., an iframe's contentDocument). A cross-realm instanceof ...
How severe is CVE-2026-65904?
CVE-2026-65904 has been rated MEDIUM with a CVSS base score of 4.7/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2026-65904?
Check the references section above for vendor advisories and patch information. Affected products include: Cure53 Dompurify.