DOMPurify: FORBID_TAGS bypassed by function-based ADD_TAGS predicate (asymmetry with FORBID_ATTR fix)
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Partial Red Hat: 18 fixed, 10 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-79.
Summary
DOMPurify is a DOM-only cross-site scripting sanitizer for HTML, MathML, and SVG. Versions prior to 3.4.0 have an inconsistency between FORBID_TAGS and FORBID_ATTR handling when function-based ADD_TAGS is used. Commit c361baa added an early exit for FORBID_ATTR at line 1214. The same fix was not applied to FORBID_TAGS. At line 1118-1123, when EXTRA_ELEMENT_HANDLING.tagCheck returns true, the short-circuit evaluation skips the FORBID_TAGS check entirely. This allows forbidden elements to survive sanitization with their attributes intact. Version 3.4.0 patches the issue.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| cure53 | DOMPurify | before 3.4.0 | 3.4.0 | Patch available | CNA |
| — | dompurify (npm) | before 3.4.0 | 3.4.0 | Patch available | GHSA-h7mw-gpvr-xq4m |
- DOMPurify Vendorcure53 Affected before 3.4.0 Fixed in 3.4.0 Patch available CNA
- dompurify (npm) Vendor— Affected before 3.4.0 Fixed in 3.4.0 Patch available GHSA-h7mw-gpvr-xq4m
Remediation
- Fix · CNA DOMPurify (cure53) Fixed in 3.4.0
- Fix · GHSA-h7mw-gpvr-xq4m dompurify (npm) Fixed in 3.4.0 Advisory →
Red Hat 18 advisories
- RHSA-2026:86618 Released 2026-10-21 · Red Hat rating CriticalNew container image: rhceph-9.2
- Red Hat Ceph Storage 9.2 registry.redhat.io/rhceph/rhceph-9-rhel10
- RHSA-2026:59360 Released 2026-08-25 · Red Hat rating ImportantApicurio Registry (container images) release and security update [ 3.3.1 GA ]
- Red Hat build of Apicurio Registry 3.3.1
- RHSA-2026:36108 Released 2026-07-07 · Red Hat rating ImportantOpenShift Virtualization v4.13 Images
- Red Hat Container Native Virtualization 4.13 registry.redhat.io/container-native-virtualization/kubevirt-console-plugin-rhel9
Show 15 more Red Hat advisories
- RHSA-2026:36107 Released 2026-07-07 · Red Hat rating ImportantOpenShift Virtualization v4.15 Images
- Red Hat Container Native Virtualization 4.15 registry.redhat.io/container-native-virtualization/kubevirt-console-plugin-rhel9
- RHSA-2026:34608 Released 2026-07-02 · Red Hat rating ImportantStreams for Apache Kafka 2.9.4 release and security update
- Streams for Apache Kafka 2.9.4
- RHSA-2026:34160 Released 2026-07-01 · Red Hat rating ImportantRed Hat Ansible Automation Platform 2.6 Product Security and Bug Fix Update
- Red Hat Ansible Automation Platform 2.6 for RHEL 9 automation-controller-4.7.13-2.el9ap, automation-controller-cli-4.7.13-2.el9ap, automation-controller-server-4.7.13-2.el9ap +7
- RHSA-2026:28010 Released 2026-06-22 · Red Hat rating ImportantRed Hat build of Cryostat security update
- Cryostat 4 on RHEL 9 cryostat/cryostat-openshift-console-plugin-rhel9, cryostat/cryostat-reports-rhel9, cryostat/cryostat-rhel9 +3
- RHSA-2026:28001 Released 2026-06-22 · Red Hat rating ModerateOpenShift Virtualization v4.17 Images
- Red Hat Container Native Virtualization 4.17 registry.redhat.io/container-native-virtualization/kubevirt-console-plugin-rhel9
- RHSA-2026:27967 Released 2026-06-22 · Red Hat rating ModerateOpenShift Virtualization v4.20 Images
- Red Hat Container Native Virtualization 4.20 registry.redhat.io/container-native-virtualization/kubevirt-console-plugin-rhel9
- RHSA-2026:27944 Released 2026-06-22 · Red Hat rating ImportantOpenShift Virtualization v4.14 Images
- Red Hat Container Native Virtualization 4.14 registry.redhat.io/container-native-virtualization/kubevirt-console-plugin-rhel9
- RHSA-2026:27879 Released 2026-06-22 · Red Hat rating ModerateOpenShift Virtualization v4.21 Images
- Red Hat Container Native Virtualization 4.21 registry.redhat.io/container-native-virtualization/kubevirt-console-plugin-rhel9
- RHSA-2026:27875 Released 2026-06-22 · Red Hat rating ModerateOpenShift Virtualization v4.18 Images
- Red Hat Container Native Virtualization 4.18 registry.redhat.io/container-native-virtualization/kubevirt-console-plugin-rhel9
- RHSA-2026:27872 Released 2026-06-22 · Red Hat rating ModerateOpenShift Virtualization v4.19 Images
- Red Hat Container Native Virtualization 4.19 registry.redhat.io/container-native-virtualization/kubevirt-console-plugin-rhel9
- RHSA-2026:24977 Released 2026-06-10 · Red Hat rating ImportantRHOAI 2.25.7 - Red Hat OpenShift AI
- Red Hat OpenShift AI 2.25 registry.redhat.io/rhoai/odh-caikit-nlp-rhel9, registry.redhat.io/rhoai/odh-caikit-tgis-serving-rhel9, registry.redhat.io/rhoai/odh-dashboard-rhel9 +34
- RHSA-2026:22619 Released 2026-06-02 · Red Hat rating ImportantRed Hat Data Grid 8.6.1 security update
- Red Hat Data Grid 8.6.1
- RHSA-2026:21772 Released 2026-05-28 · Red Hat rating ImportantRed Hat OpenShift Dev Spaces 3.28.0 Release.
- Red Hat OpenShift Dev Spaces 3.28 registry.redhat.io/devspaces/code-rhel9, registry.redhat.io/devspaces/dashboard-rhel9, registry.redhat.io/devspaces/openvsx-rhel9 +3
- RHSA-2026:21338 Released 2026-05-27 · Red Hat rating ImportantRed Hat Developer Hub 1.8.7 release.
- Red Hat Developer Hub 1.8 registry.redhat.io/rhdh/rhdh-hub-rhel9, registry.redhat.io/rhdh/rhdh-rhel9-operator
- RHSA-2026:16476 Released 2026-05-12 · Red Hat rating ImportantKiali 1.73.30 for Red Hat OpenShift Service Mesh 2.6
- Red Hat OpenShift Service Mesh 2.6 registry.redhat.io/openshift-service-mesh/kiali-ossmc-rhel8, registry.redhat.io/openshift-service-mesh/kiali-rhel8
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Cryostat 4 | Affected | No fix yet |
| Migration Toolkit for Virtualization | Affected | No fix planned: Will not fix |
| Red Hat 3scale API Management Platform 2 | Affected | No fix planned: Will not fix |
| Red Hat Ceph Storage 9 | Affected | No fix yet |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet |
| Red Hat OpenShift GitOps | Affected | No fix yet |
| Red Hat Openshift Data Foundation 4 | Affected | No fix yet |
| Red Hat build of Apicurio Registry 2 | Affected | No fix planned: Will not fix |
| Self-service automation portal 2 | Affected | No fix yet |
| Cryostat 4 on RHEL 9 | Fixed | RHSA-2026:28010 |
| Red Hat Ansible Automation Platform 2.6 for RHEL 9 | Fixed | RHSA-2026:34160 |
| Red Hat Ceph Storage 9.2 | Fixed | RHSA-2026:86618 |
| Red Hat Container Native Virtualization 4.13 | Fixed | RHSA-2026:36108 |
| Red Hat Container Native Virtualization 4.14 | Fixed | RHSA-2026:27944 |
| Red Hat Container Native Virtualization 4.15 | Fixed | RHSA-2026:36107 |
| Red Hat Container Native Virtualization 4.17 | Fixed | RHSA-2026:28001 |
| Red Hat Container Native Virtualization 4.18 | Fixed | RHSA-2026:27875 |
| Red Hat Container Native Virtualization 4.19 | Fixed | RHSA-2026:27872 |
| Red Hat Container Native Virtualization 4.20 | Fixed | RHSA-2026:27967 |
| Red Hat Container Native Virtualization 4.21 | Fixed | RHSA-2026:27879 |
| Red Hat Data Grid 8.6.1 | Fixed | RHSA-2026:22619 |
| Red Hat Developer Hub 1.8 | Fixed | RHSA-2026:21338 |
| Red Hat OpenShift AI 2.25 | Fixed | RHSA-2026:24977 |
| Red Hat OpenShift Dev Spaces 3.28 | Fixed | RHSA-2026:21772 |
| Red Hat OpenShift Service Mesh 2.6 | Fixed | RHSA-2026:16476 |
| Red Hat build of Apicurio Registry 3.3.1 | Fixed | RHSA-2026:59360 |
| Streams for Apache Kafka 2.9.4 | Fixed | RHSA-2026:34608 |
Not affected: 26 products
- Cryostat 4 on RHEL 9
- Migration Toolkit for Virtualization
- Multicluster Engine for Kubernetes
- Node HealthCheck Operator
- OpenShift Lightspeed
- OpenShift Service Mesh 3
- Red Hat 3scale API Management Platform 2
- Red Hat Advanced Cluster Security 4
- Red Hat Ansible Automation Platform 2
- Red Hat Ansible Automation Platform 2.6 for RHEL 9
- Red Hat Build of Podman Desktop
- Red Hat Ceph Storage 9.2
- Red Hat Developer Hub 1.8
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
- Red Hat Hardened Images
- Red Hat OpenShift AI (RHOAI)
- Red Hat OpenShift AI 2.25
- Red Hat OpenShift Container Platform 4
- Red Hat OpenShift Dev Spaces 3.28
- Red Hat OpenShift Service Mesh 2.6
- Red Hat OpenShift Virtualization 4
- Red Hat Process Automation 7
- Red Hat build of Apache Camel - HawtIO 4
- streams for Apache Kafka 3
Timeline
- 2026-10-02 Threatist record created from CVE-2026-41240
- 2026-10-03 Alias added: GHSA-h7mw-gpvr-xq4m
- 2026-10-09 Fix available: RHSA-2026:59360 · Red Hat
- 2026-10-09 Fix available: Red Hat build of Apicurio Registry 3.3.1 · Red Hat
- 2026-10-21 Fix available: RHSA-2026:86618 · Red Hat
- 2026-10-21 Fix available: Red Hat Ceph Storage 9.2 · Red Hat
- 2026-11-06 Fix available: RHSA-2026:27944 · Red Hat
References
More cure53 Dompurify vulnerabilities
- TI-2026-34986 DOMPurify XSS via `selectedcontent` re-clone CVSS 3.1HIGH 8.2
- TI-2026-36811 DOMPurify IN_PLACE Sanitization Bypass via Attached Shadow Root Inside <template>.content CVSS 4.0MEDIUM 6.3
- TI-2026-36614 DOMPurify: IN_PLACE mode preserves attributes of a clobbered root element, allowing XSS via attacker-controlled root DOM CVSS 3.1MEDIUM 6.1
- TI-2026-36613 DOMPurify: Cross-realm IN_PLACE sanitization leaves executable markup intact via realm-bound `instanceof` checks CVSS 3.1MEDIUM 6.1
- TI-2025-19705 Cross-site scripting in cure53 DOMPurify CVSS 3.1MEDIUM 6.1
- TI-2026-46952 DOMPurify before 3.3.2 Mutation XSS via Re-Contextualization CVSS 4.0MEDIUM 5.3
Sources
- CVE-2026-41240 · CVE Program
- CVE-2026-41240 · NVD
- FIRST EPSS
- GHSA-h7mw-gpvr-xq4m · GitHub Advisory Database · CC BY 4.0
- CVE-2026-41240 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences