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.
References
| Link | Resource |
|---|---|
| https://github.com/cure53/DOMPurify/security/advisories/GHSA-4w3q-35jp-p934 | Exploit Third Party Advisory |
| https://www.vulncheck.com/advisories/dompurify-before-cross-site-scripting-via-in-place-mode | Third Party Advisory |
| https://github.com/cure53/DOMPurify/security/advisories/GHSA-4w3q-35jp-p934 | Exploit Third Party Advisory |
Configurations
History
No history.
Information
Published : 2026-07-23 14:18
Updated : 2026-07-28 15:51
NVD link : CVE-2026-65904
Mitre link : CVE-2026-65904
CVE.ORG link : CVE-2026-65904
JSON object : View
Products Affected
cure53
- dompurify
CWE
CWE-754
Improper Check for Unusual or Exceptional Conditions
