VULNERABILITY INTELLIGENCE
CVE-2026-65900
CVSS score6.1 MEDIUM
EPSS probability0.31%
CISA KEVNot currently listed
Published2026-07-23
Last modified2026-10-24
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Description
DOMPurify versions >=3.0.0 and before 3.4.8, when configured with SAFE_FOR_TEMPLATES together with a DOM output mode (RETURN_DOM, RETURN_DOM_FRAGMENT, or IN_PLACE), fail to strip template expressions (e.g. ${evil}, {{evil}}, <%evil%>) inside <template> element content. The final normalization/scrub pass (_scrubTemplateExpressions) uses a NodeIterator and node.normalize() that do not descend into template.content, so expressions that only form after adjacent text nodes merge survive sanitization. This bypasses SAFE_FOR_TEMPLATES and can allow a downstream template engine to evaluate attacker-supplied expressions. The string output path is not affected.
Weakness classification
- disclosure@vulncheck.com: CWE-79
Primary references
- disclosure@vulncheck.com — Exploit, Third Party Advisory
- disclosure@vulncheck.com — Third Party Advisory
- 134c704f-9b21-4f2e-91b3-4a467353bcc0 — Exploit, Third Party Advisory