Description
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.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:NWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| cure53 | DOMPurify | < 3.4.9 |
References
- https://github.com/cure53/DOMPurify/commit/825e617753ac1169306a542d3174a77f717a0cf6Patch
- https://github.com/cure53/DOMPurify/security/advisories/GHSA-vxr8-fq34-vvx9Exploit, Third Party Advisory
- https://www.vulncheck.com/advisories/dompurify-before-trusted-types-policy-state-contaminationThird Party Advisory
Timeline
- Published
- Jul 23, 2026
- Last modified
- Oct 24, 2026
- NVD status
- Analyzed