CVE-2026-49978 json
DOMPurify IN_PLACE Sanitization Bypass via Attached Shadow Root Inside <template>.content
published 2026-06-15 4 mo ago modified 2026-10-24 15 d ago also EUVD-2026-44452 , GHSA-rp9w-3fw7-7cwq
- cvss
- 6.1
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 34%
- public exploits
- 0
- none known
Summary
DOMPurify is a DOM-only cross-site scripting sanitizer for HTML, MathML, and SVG. Prior to 3.4.7, DOMPurify IN_PLACE sanitization could skip shadow contents attached to an element inside <template>.content, allowing attacker-controlled markup such as event handlers, JavaScript URLs, or scripts to survive and execute when an application cloned and inserted the sanitized template. This issue is fixed in version 3.4.7.
Patch / fix
- npm dompurify 3.4.7
- cure53 dompurify 3.4.6
- node-dompurify Debian 14 3.4.12+dfsg-1
debian advisories DEBIAN-CVE-2026-49978
- rh-podman-desktop RHEL 10.2 1.1.2-1.el10_2
red hat advisories RHSA-2026:57590
- argocd-cli openSUSE Tumbleweed 3.6.1-1.1
opensuse advisories openSUSE-SU-2026:12452-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-49978 updated cvss 8.1
dompurify: DOMPurify: Cross-site scripting vulnerability allows code execution
-
Red Hat Cryostat 4 grafana-infinity-datasource-npm Red Hat Migration Toolkit for Virtualization migration-toolkit-virtualization/mtv-console-plugin-rhel9 Red Hat Node HealthCheck Operator workload-availability/node-healthcheck-rhel9-operator, workload-availability/node-healthcheck-operator-bundle, workload-availability/node-healthcheck-must-gather-rhel9affected: no fix available
-
Red Hat Ansible Automation Platform 2 automation-gateway, automation-platform-ui, automation-eda-controlleraffected: no fix available, no fix planned “Will not fix”
-
Red Hat build of Apache Camel - HawtIO 4 dompurify Red Hat Build of Podman Desktop rh-podman-desktop.gitaffected: no fix available
-
Red Hat Ceph Storage 9 rhceph/alloy-rhel10affected: no fix available “Fix deferred”
-
Red Hat OpenShift Container Platform 5 openshift5/ose-agent-installer-ui-rhel9affected: no fix available
-
Red Hat Openshift Data Foundation 4 odf4/odf-console-rhel9, odf4/odf-multicluster-console-rhel9affected: no fix available “Fix deferred”
-
Red Hat OpenShift GitOps openshift-gitops-1/argocd-rhel8, openshift-gitops-1/argocd-rhel9affected: no fix available
-
Red Hat Cryostat 4 on RHEL 9 cryostat/cryostat-grafana-dashboard-rhel9 4.2.0-19, cryostat/cryostat-openshift-console-plugin-rhel9 4.2.0-14fixed: vendor fix RHSA-2026:95360
show 29 moreshow fewer
-
Red Hat Advanced Cluster Security 4.9 advanced-cluster-security/rhacs-main-rhel8 1785413210fixed: vendor fix RHSA-2026:48872
-
Red Hat Advanced Cluster Security for Kubernetes 4.11 advanced-cluster-security/rhacs-main-rhel9 1785415868fixed: vendor fix RHSA-2026:48891
-
Red Hat Advanced Cluster Security for Kubernetes for IBM Power, little endian 4.10 advanced-cluster-security/rhacs-main-rhel8 1785420959fixed: vendor fix RHSA-2026:48913
-
Red Hat AMQ Broker 7.13.6fixed: vendor fix RHSA-2026:66545
-
Red Hat AMQ Broker 7.14.1fixed: vendor fix RHSA-2026:66488
-
Red Hat Ansible Automation Platform 2.2 ansible-automation-platform/automation-portal 1784622951fixed: vendor fix RHSA-2026:42815
-
Red Hat build of Apicurio Registry 3.3.1fixed: vendor fix RHSA-2026:59360
-
Red Hat Container Native Virtualization 4.12 container-native-virtualization/kubevirt-console-plugin 1784710594fixed: vendor fix RHSA-2026:46623
-
Red Hat Container Native Virtualization 4.13 container-native-virtualization/kubevirt-console-plugin-rhel9 1786327570fixed: vendor fix RHSA-2026:53735
-
Red Hat Container Native Virtualization 4.14 container-native-virtualization/kubevirt-console-plugin-rhel9 1784741686fixed: vendor fix RHSA-2026:46539
-
Red Hat Container Native Virtualization 4.15 container-native-virtualization/kubevirt-console-plugin-rhel9 1786328346fixed: vendor fix RHSA-2026:53840
-
Red Hat Container Native Virtualization 4.17 container-native-virtualization/kubevirt-console-plugin-rhel9 1784805322fixed: vendor fix RHSA-2026:46558
-
Red Hat Container Native Virtualization 4.22 container-native-virtualization/kubevirt-console-plugin-rhel9 1784634128fixed: vendor fix RHSA-2026:43625
-
Red Hat Data Grid 8.6.3fixed: vendor fix RHSA-2026:69296
-
Red Hat Developer Hub 1.9 rhdh/rhdh-hub-rhel9 1785972843fixed: vendor fix RHSA-2026:52768
-
Red Hat Developer Hub 1.10 rhdh/rhdh-hub-rhel9 1785411652, rhdh/red-hat-developer-hub-backstage-plugin-lightspeed 1785333413fixed: vendor fix RHSA-2026:48126
-
Red Hat Enterprise Linux Extensions Channel (v. 10) rh-podman-desktop 1.1.2-1.el10_2fixed: vendor fix RHSA-2026:57590
-
Red Hat OpenShift AI 2.25 rhoai/odh-dashboard-rhel9 1788312226, rhoai/odh-mod-arch-model-registry-rhel9 1788312157fixed: vendor fix RHSA-2026:65126
-
Red Hat OpenShift AI 3.4 rhoai/odh-dashboard-rhel9 1787347991, rhoai/odh-mod-arch-maas-rhel9 1787251250, rhoai/odh-mod-arch-automl-rhel9 1787250508, rhoai/odh-mod-arch-gen-ai-rhel9 1786611759, rhoai/odh-mod-arch-autorag-rhel9 1787251550, rhoai/odh-mod-arch-eval-hub-rhel9 1791861214, +1 morefixed: vendor fix RHSA-2026:60520
-
Red Hat OpenShift Container Platform 4.19 openshift4/ose-monitoring-plugin-rhel9 1785517933fixed: vendor fix RHSA-2026:51007
-
Red Hat OpenShift Container Platform 4.20 openshift4/ose-monitoring-plugin-rhel9 1785349166fixed: vendor fix RHSA-2026:48676
-
Red Hat OpenShift Container Platform 4.21 openshift4/ose-monitoring-plugin-rhel9 1785354128fixed: vendor fix RHSA-2026:48670
-
Red Hat OpenShift Container Platform 4.22 openshift4/ose-monitoring-plugin-rhel9 1785230041, openshift4/ose-agent-installer-ui-rhel9 1785230147fixed: vendor fix RHSA-2026:48693
-
Red Hat OpenShift Dev Spaces 3.30 devspaces/code-rhel9 1787762793, devspaces/openvsx-rhel9 1787759145fixed: vendor fix RHSA-2026:62260
-
Red Hat OpenShift Service Mesh 3.3 openshift-service-mesh/kiali-rhel9 1784806326, openshift-service-mesh/kiali-ossmc-rhel9 1784824388fixed: vendor fix RHSA-2026:49680
-
Red Hat OpenShift Service Mesh 3.4 openshift-service-mesh/kiali-rhel9 1784806708, openshift-service-mesh/kiali-ossmc-rhel9 1784824894fixed: vendor fix RHSA-2026:49735
-
Red Hat Streams for Apache Kafka 3.2.1fixed: vendor fix RHSA-2026:54435
-
Red Hat Cryostat 4 dompurifynot affected: component not present
-
Red Hat Cryostat 4 on RHEL 9 cryostat/cryostat-rhel9 4.2.0-14, cryostat/cryostat-rhel9 4.2.0-18, cryostat/cryostat-db-rhel9 4.2.0-22, cryostat/cryostat-db-rhel9 4.2.0-29, cryostat/jfr-datasource-rhel9 4.2.0-14, cryostat/jfr-datasource-rhel9 4.2.0-19, +12 morenot affected: vulnerable code not present
28 more not affected in the full advisory
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 3 mo ago
Exploit prediction
0.40% chance of exploitation in the next 30 days, higher than 34% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/cure53/DOMPurify/security/advisories/GHSA-rp9w-3fw7-7cwq referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.3 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N |
| CNA | 4.0 | 6.3 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | dompurify | <3.4.7 |
3.4.7 |
Affected products
- cure53 DOMPurify
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/cure53/DOMPurify/commit/ca30f070c360df162a3e3848e80e6fd3c9e74bff
patch
-
github.com
/cure53/DOMPurify/security/advisories/GHSA-rp9w-3fw7-7cwq
exploit, web, vendor-advisory
-
github.com
/cure53/DOMPurify/releases/tag/3.4.7
release-notes
-
github.com
/cure53/DOMPurify
package
Sources
- CVE List CVE-2026-49978
- GitHub Advisory GHSA-rp9w-3fw7-7cwq
- NVD CVE-2026-49978
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.