CVE-2026-65904 DOMPurify vulnerability
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. The vendor considers this an edge case outside DOMPurify's threat model and, at time of publication, no fix was planned.
Browse Cross-site Scripting security risksQuick answer
cure53 DOMPurify should be reviewed and updated if it matches the affected versions. The recommended fix is to apply the vendor-supported patched version or the mitigation steps below, then retest the public website with Fixnx.
Who is affected
Affected versions
- < 3.4.4
Fixed versions
- 3.4.4
How to fix it
CVE-2026-65904 affects DOMPurify and involves cross-site scripting. Successful exploitation may run attacker-controlled script in a trusted user's browser and expose session or application data. Prioritize deployments that process untrusted input, expose the affected feature, or hold sensitive data. Upgrade DOMPurify to 3.4.4 or a later vendor-supported fixed release.
- Inventory every deployment, device, package, plugin, container, build, and environment that uses DOMPurify.
- Compare the installed version with the recorded affected range: < 3.4.4.
- Upgrade DOMPurify to 3.4.4 or a later vendor-supported fixed release.
- Until patched, reduce public exposure, disable the affected workflow where practical, and allow access only from trusted users and systems.
- Review configuration, roles, tokens, network paths, and exposed endpoints connected to DOMPurify; remove access that is not required.
- Review submissions, stored content, administrator activity, CSP reports, and web logs for script payloads or suspicious browser requests.
- If exploitation is suspected, isolate affected assets, preserve evidence, rotate exposed credentials or keys, restore trusted data, and rebuild compromised systems before returning them to service.
Scan now. Google sign-in is only needed to unlock fix guidance.
Verify the fix
- Confirm every affected asset now runs the fixed vendor-supported release or has the documented mitigation for CVE-2026-65904 in place.
- Use a safe regression test to confirm the affected cross-site scripting path no longer produces the vulnerable behavior.
- Confirm temporary access controls, endpoint restrictions, network blocks, and least-privilege settings remain effective after the update.
- Review post-remediation logs and rerun Fixnx plus the relevant package, dependency, firmware, browser, or product-specific security check.
- Document affected assets, versions, changes, validation evidence, reviewed logs, and any credential rotation, cleanup, or replacement completed.
Related categories
Related security risks
More published guidance from the same primary category.
Trusted references
FAQ
What is affected by CVE-2026-65904?
cure53 DOMPurify versions listed as affected should be reviewed: < 3.4.4.
What should I fix first?
Start with internet-facing sites, admin panels, login flows, plugins, themes, modules, packages, and systems that process user-controlled input or sensitive data.
How do I confirm the fix worked?
Apply the patched version or mitigation, clear caches where relevant, retest the affected workflow, and run a new Fixnx scan to verify public website exposure signals.
How are Fixnx security risk categories chosen?
Fixnx keeps one canonical risk page and assigns only broad, relevant categories such as ecosystem, technology area, or vulnerability class.
