Skip to content
OpenAdvisories
Medium · 6.1 CVE-2026-65900 EUVD-2026-48269GHSA-gvmj-g25r-r7wr

DOMPurify before 3.4.8 Template Expression Injection via RETURN_DOM

Published Jul 23, 2026 · Updated Jul 23, 2026 · Assigned by VulnCheck

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.

Affected products

VendorProductAffectedFixed
cure53 DOMPurify 3.0.0 – < 3.4.8 3.4.8

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 node-dompurify 3.4.12+dfsg-1 —
Debian 13 node-dompurify No fix yet —
Debian 12 node-dompurify No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.04 LTS node-dompurify No fix yet —
Ubuntu 24.04 LTS node-dompurify No fix yet —
Ubuntu 22.04 LTS node-dompurify No fix yet —
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed python-comfyui-frontend-package 1.52.7-1.1 openSUSE-SU-2026:11723-1

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling langfuse-3-compat 3.225.7-r6 —
Wolfi rolling langfuse-3-worker 3.191.0-r0 —
Wolfi rolling nextcloud-server-33 33.0.6-r0 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm dompurify >= 3.0.0, < 3.4.8 3.4.8 GHSA-gvmj-g25r-r7wr

Advisories 1

References