Skip to content
OpenAdvisories
Medium · 6.1 CVE-2026-49458 EUVD-2026-44507GHSA-hpcv-96wg-7vj8

DOMPurify: Cross-realm IN_PLACE sanitization leaves executable markup intact via realm-bound `instanceof` checks

Published Jul 14, 2026 · Updated Jul 15, 2026 · Assigned by GitHub_M

Description

DOMPurify is a DOM-only cross-site scripting sanitizer for HTML, MathML, and SVG. Prior to 3.4.6, DOMPurify.sanitize(node, { IN_PLACE: true }) accepted same-origin foreign-realm DOM nodes while follow-on checks used parent-realm constructors, causing instanceof checks for forms, named node maps, document fragments, and elements to fail and skip clobber, template-content, and shadow-DOM sanitization branches so executable markup could survive. This issue is fixed in version 3.4.6.

Affected products

VendorProductAffectedFixed
cure53 DOMPurify < 3.4.6 —

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.10 node-dompurify No fix yet —
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 —
Ubuntu 18.04 LTS dompurify.js No fix yet —
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS dompurify.js No fix yet —

Wolfi

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

Affected packages

EcosystemPackageAffectedFixedRecord
npm dompurify < 3.4.6 3.4.6 GHSA-hpcv-96wg-7vj8

References