CVE-2026-65902
DOMPurify before 3.4.7 (affected versions <= 3.4.5) passes direct references to the module-level DEFAULT_ALLOWED_TAGS and DEFAULT_ALLOWED_ATTR sets to the uponSanitizeElement and uponSanitizeAttribute hooks via data.allowedTags / data.allowedAttributes when sanitize is called without an explicit cfg.ALLOWED_TAGS / cfg.ALLOWED_ATTR array. A hook that mutates these fields permanently widens the default allow-lists for the lifetime of the DOMPurify instance, so all subsequent default-config sanitize calls inherit the widened defaults and attacker payloads using the poisoned tag/attribute name survive sanitization. removeAllHooks(), clearConfig(), and passing a fresh cfg do not recover the state; only constructing a new DOMPurify instance does.
Scoring
- Severity
- MEDIUM
- CVSS base score
- 6.1
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
- EPSS probability
- 0.24%
- CWE
- CWE-501
- Published
- 2026-07-23
- Last modified
- 2026-07-24
Affected products
- cure53 DOMPurify
- cure53 DOMPurify
Weakness type
Related vulnerabilities
- CVE-2026-44091 — Creation of a new configuration by posting a malicious ID to MQTT
- CVE-2026-49458 — DOMPurify: Cross-realm IN_PLACE sanitization leaves executable markup intact via realm-bound `instanceof` checks
- CVE-2026-33828 — Windows Device Health Attestation (DHA) Elevation of Privilege Vulnerability
- CVE-2026-24153 — NVIDIA Jetson Linux has a vulnerability in initrd, where the nvluks trusted application is not...
- CVE-2026-25725 — Claude Code Has Sandbox Escape via Persistent Configuration Injection in settings.json
- CVE-2025-14542 — Command execution in python-utcp allows attackers to achieve remote code execution when fetching a remote Manual from a malicious endpoint
- CVE-2025-64496 — Open WebUI Affected by an External Model Server (Direct Connections) Code Injection via SSE Events
- CVE-2025-49714 — Visual Studio Code Python Extension Remote Code Execution Vulnerability