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.
{
"cna_assigner": "VulnCheck",
"cwe_ids": [
"CWE-754"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/65xxx/CVE-2026-65904.json"
}{
"cpe": "cpe:2.3:a:cure53:dompurify:*:*:*:*:*:*:*:*",
"extracted_events": [
{
"introduced": "0"
},
{
"last_affected": "3.3.3"
},
{
"fixed": "3.4.4"
}
],
"source": [
"AFFECTED_FIELD",
"CPE_RANGE"
]
}