DOMPurify 3.0.0 before 3.4.9 does not reset the retained Trusted Types policy when clearConfig() is called, so a DOMPurify instance reused across trust boundaries stays bound to a previously supplied TRUSTED_TYPES_POLICY. A later caller that requests RETURN_TRUSTED_TYPE output receives a TrustedHTML object created by the old (potentially unsafe) policy rather than a clean default, which can lead to script execution at a Trusted Types sink. Passing TRUSTED_TYPES_POLICY: null on the later call also does not clear the retained policy.
References
| Link | Resource |
|---|---|
| https://github.com/cure53/DOMPurify/commit/825e617753ac1169306a542d3174a77f717a0cf6 | Patch |
| https://github.com/cure53/DOMPurify/security/advisories/GHSA-vxr8-fq34-vvx9 | Exploit Third Party Advisory |
| https://www.vulncheck.com/advisories/dompurify-before-trusted-types-policy-state-contamination | Third Party Advisory |
Configurations
History
No history.
Information
Published : 2026-07-23 14:18
Updated : 2026-07-28 15:53
NVD link : CVE-2026-65899
Mitre link : CVE-2026-65899
CVE.ORG link : CVE-2026-65899
JSON object : View
Products Affected
cure53
- dompurify
CWE
CWE-693
Protection Mechanism Failure
