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.
The product does not use or incorrectly uses a protection mechanism that provides sufficient defense against directed attacks against the product.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Dompurify | Cure53 | 3.0.0 (including) | 3.4.9 (excluding) |
| Red Hat Hardened Images | RedHat | grafana12-4-main-12.4.8-0.1.2.hum1 | * |
| Red Hat Hardened Images | RedHat | grafana13-1-main-13.1.3-0.1.3.hum1 | * |
| Node-dompurify | Ubuntu | upstream | * |