CVE-2026-65904: DOMPurify through 3.3.3 fails to sanitize DOM elements passed via IN_PLACE mode when the element originates fr
CVE-2026-65904 is a medium-severity flaw (CVSS 4.7) affecting dompurify. Below: why it ranks where it does, which versions are affected, what to do, and the exact commands.
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 XS
Why this priority
- Public exploit reference
A fixed release or distro patch exists.
Risk facts
| CVSS score | 4.7 (Medium) |
| Attack vector | Network (remote) |
| Attack complexity | High |
| Privileges needed | None |
| User interaction | Required |
| EPSS exploit chance | 0.3% (top 82%) |
| CISA exploited list | No |
| Weakness | CWE-754 |
| Published | 2026-07-23 |
| Last modified | 2026-10-24 |
Last updated 2026-10-24 · Sources: CVE Program, NVD, CISA KEV, EPSS and vendor advisories · How we score
Am I affected?
Timeline
- Published CVE record published
- Updated Record last modified
Scores and fixes here are computed automatically from those and other public sources. Confirm with the vendor advisory before changing production systems.
Quick answers
How do I fix CVE-2026-65904?
dompurify: upgrade to 3.4.4. Exact commands for each OS are on this page.
Is CVE-2026-65904 being exploited?
CVE-2026-65904 is not on the CISA Known Exploited Vulnerabilities list at the time of the last update. Check again, as this can change.
What does CVE-2026-65904 affect?
CVE-2026-65904 affects dompurify. Severity is medium (CVSS 4.7). 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
How urgent is CVE-2026-65904?
Priority 26/100. Public exploit reference
Related CVEs
- CVE-2026-65898 HIGH 7.2 UPGRADE DOMPurify before 3.4.11 fails to clone the ALLOWED_ATTR allowlist when setConfig() is used with an uponSanitiz
- CVE-2026-65899 MEDIUM 6.1 UPGRADE DOMPurify 3.0.0 before 3.4.9 does not reset the retained Trusted Types policy when clearConfig() is called, so
- CVE-2026-65902 MEDIUM 6.1 UPGRADE DOMPurify before 3.4.7 (affected versions <= 3.4.5) passes direct references to the module-level DEFAULT_ALLOW
- CVE-2026-65911 MEDIUM 6.1 UPGRADE In DOMPurify through 3.3.3, function predicates supplied via ADD_ATTR or ADD_TAGS to DOMPurify.sanitize() pers
- CVE-2026-65900 MEDIUM 6.1 UPGRADE DOMPurify versions >=3.0.0 and before 3.4.8, when configured with SAFE_FOR_TEMPLATES together with a DOM outpu