CVE-2026-65904
DOMPurify through 3.3.3 Cross-Site Scripting via IN_PLACE mode
DOMPurify through 3.3.3 fails to sanitize DOM elements passed via IN_PLACE mode when the element originates from a different window/realm (e.g., an iframe's contentDocument). A cross-realm instanceof check in the private _isNode() function returns false for foreign-realm nodes, causing DOMPurify to stringify the element (yielding '[object HTMLDivElement]'), silently reset IN_PLACE to false, and return the unsanitized element unchanged with any XSS payloads intact.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- Passive
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
2.3
DOMPurify through 3.3.3 Cross-Site Scripting via IN_PLACE mode
DOMPurify through 3.3.3 fails to sanitize DOM elements passed via IN_PLACE mode when the element originates from a different window/realm (e.g., an iframe's contentDocument). A cross-realm instanceof check in the private _isNode() function returns false for foreign-realm nodes, causing DOMPurify to stringify the element (yielding '[object HTMLDivElement]'), silently reset IN_PLACE to false, and return the unsanitized element unchanged with any XSS payloads intact.
- Record
CVE-2026-65904- CVSS 4.0
- 2.3 Low
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N - CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-754
- Updated
- 2026-11-02
EUVDEUVD-2026-48273
2.3
DOMPurify through 3.3.3 fails to sanitize DOM elements passed via IN_PLACE mode when the element originates from a different window/realm (e.g., an iframe's contentDocument). A cross-realm instanceof check in the private _isNode() function returns false for foreign-realm nodes, causing DOMPurify to stringify the element (yielding '[object HTMLDivElement]'), silently reset IN_PLACE to false, and return the unsanitized element unchanged with any XSS payloads intact.
- Record
EUVD-2026-48273- CVSS 4.0
- 2.3 Low
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N - Updated
- 2026-11-02
NVD
2.3
DOMPurify through 3.3.3 fails to sanitize DOM elements passed via IN_PLACE mode when the element originates from a different window/realm (e.g., an iframe's contentDocument). A cross-realm instanceof check in the private _isNode() function returns false for foreign-realm nodes, causing DOMPurify to stringify the element (yielding '[object HTMLDivElement]'), silently reset IN_PLACE to false, and return the unsanitized element unchanged with any XSS payloads intact.
- Record
CVE-2026-65904- CVSS 4.0
- 2.3 Low
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/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 - CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-754
- Updated
- 2026-11-02
OSV
2.3
DOMPurify through 3.3.3 Cross-Site Scripting via IN_PLACE mode
DOMPurify through 3.3.3 fails to sanitize DOM elements passed via IN_PLACE mode when the element originates from a different window/realm (e.g., an iframe's contentDocument). A cross-realm instanceof check in the private _isNode() function returns false for foreign-realm nodes, causing DOMPurify to stringify the element (yielding '[object HTMLDivElement]'), silently reset IN_PLACE to false, and return the unsanitized element unchanged with any XSS payloads intact.
- Record
CVE-2026-65904- CVSS 4.0
- 2.3 Low
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N - Weakness
- CWE-754
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-65904
2.3
DOMPurify through 3.3.3 fails to sanitize DOM elements passed via IN_PLACE mode when the element originates from a different window/realm (e.g., an iframe's contentDocument). A cross-realm instanceof check in the private _isNode() function returns false for foreign-realm nodes, causing DOMPurify to stringify the element (yielding '[object HTMLDivElement]'), silently reset IN_PLACE to false, and return the unsanitized element unchanged with any XSS payloads intact.
- Record
DEBIAN-CVE-2026-65904- CVSS 4.0
- 2.3 Low
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/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 - Updated
- 2026-11-02
OSVRHSA-2026:54517
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:54517- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-65904
2.3
DOMPurify through 3.3.3 fails to sanitize DOM elements passed via IN_PLACE mode when the element originates from a different window/realm (e.g., an iframe's contentDocument). A cross-realm instanceof check in the private _isNode() function returns false for foreign-realm nodes, causing DOMPurify to stringify the element (yielding '[object HTMLDivElement]'), silently reset IN_PLACE to false, and return the unsanitized element unchanged with any XSS payloads intact.
- Record
UBUNTU-CVE-2026-65904- CVSS 4.0
- 2.3 Low
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N - CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
node-dompurifyDebian:12 |
All versions, plus listed versions 2.4.1+dfsg+~2.4.0-12.4.1+dfsg+~2.4.0-22.4.1+dfsg+~2.4.0-2+deb12u13.0.9+dfsg+~3.0.5-13.1.6+dfsg+~3.0.5-1 Show 13 moreShow less3.1.7+dfsg+~3.0.5-13.1.7+dfsg+~3.0.5-23.2.5+dfsg-13.3.2+dfsg-13.3.3+dfsg-13.3.3+dfsg-23.4.1+dfsg-13.4.12+dfsg-13.4.13+dfsg-13.4.13+dfsg-23.4.16+dfsg-13.4.2+dfsg-13.4.5+dfsg-1 |
None known |
node-dompurifyDebian:13 |
All versions, plus listed versions 3.1.7+dfsg+~3.0.5-23.2.5+dfsg-13.3.2+dfsg-13.3.3+dfsg-13.3.3+dfsg-2 Show 7 moreShow less3.4.1+dfsg-13.4.12+dfsg-13.4.13+dfsg-13.4.13+dfsg-23.4.16+dfsg-13.4.2+dfsg-13.4.5+dfsg-1 |
None known |
node-dompurifyDebian:14 |
before 3.4.5+dfsg-1, plus listed versions 3.1.7+dfsg+~3.0.5-23.2.5+dfsg-13.3.2+dfsg-13.3.3+dfsg-13.3.3+dfsg-23.4.1+dfsg-13.4.2+dfsg-1 |
3.4.5+dfsg-1 |
grafana13.1Red Hat:hummingbird:1 From an advisory covering 9 CVEs |
before 0:13.1.3-0.1.1.hum1 | 0:13.1.3-0.1.1.hum1 |
node-dompurifyUbuntu:22.04:LTS |
All versions, plus listed versions 2.3.0+dfsg-22.3.3+dfsg-1 |
None known |
node-dompurifyUbuntu:24.04:LTS |
All versions, plus listed versions 2.4.1+dfsg+~2.4.0-13.0.9+dfsg+~3.0.5-1 |
None known |
node-dompurifyUbuntu:26.04:LTS |
All versions, plus listed versions 3.1.7+dfsg+~3.0.5-23.3.3+dfsg-1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-65904 is a low vulnerability (CVSS 2.3) in Cure53 Dompurify, published July 23, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.27%, the 18th percentile. Fixed in node-dompurify 3.4.5+dfsg-1.
References
github.com/cure53/DOMPurify/security/advisories/GHSA-4w3q-35jp-p934
vulncheck.com/advisories/dompurify-before-cross-site-scripting-via-in-place-mode
github.com/CVEProject/cvelistV5/tree/main/cves/2026/65xxx/CVE-2026-65904.json
nvd.nist.gov/vuln/detail/CVE-2026-65904
security-tracker.debian.org/tracker/CVE-2026-65904
access.redhat.com/errata/RHSA-2026:54517
Show 57 moreShow less
access.redhat.com/security/cve/CVE-2026-73088
access.redhat.com/security/cve/CVE-2026-73089
access.redhat.com/security/updates/classification
images.redhat.com
access.redhat.com/security/cve/CVE-2026-45819
access.redhat.com/security/cve/CVE-2026-16221
access.redhat.com/security/cve/CVE-2026-65904
access.redhat.com/security/cve/CVE-2026-65912
access.redhat.com/security/cve/CVE-2026-65911
access.redhat.com/security/cve/CVE-2026-65914
access.redhat.com/security/cve/CVE-2026-65913
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_54517.json
bugzilla.redhat.com/show_bug.cgi?id=2502307
cve.org/CVERecord?id=CVE-2026-16221
nvd.nist.gov/vuln/detail/CVE-2026-16221
cna.openjsf.org/security-advisories.html
github.com/fastify/fast-uri/security/advisories/GHSA-v2hh-gcrm-f6hx
bugzilla.redhat.com/show_bug.cgi?id=2515240
cve.org/CVERecord?id=CVE-2026-45819
nvd.nist.gov/vuln/detail/CVE-2026-45819
github.com/web-platform-dx/baseline-browser-mapping/blob/b7881aa61c8a057e24468ab5ee18c5ecedbbf691/src/index.ts
github.com/web-platform-dx/baseline-browser-mapping/pull/137/changes
npmjs.com/package/baseline-browser-mapping
bugzilla.redhat.com/show_bug.cgi?id=2506426
cve.org/CVERecord?id=CVE-2026-65904
bugzilla.redhat.com/show_bug.cgi?id=2506434
cve.org/CVERecord?id=CVE-2026-65911
nvd.nist.gov/vuln/detail/CVE-2026-65911
github.com/cure53/DOMPurify/security/advisories/GHSA-9p3w-6h5p-cv75
vulncheck.com/advisories/dompurify-before-xss-via-add-attr-add-tags-state-leakage
bugzilla.redhat.com/show_bug.cgi?id=2506427
cve.org/CVERecord?id=CVE-2026-65912
nvd.nist.gov/vuln/detail/CVE-2026-65912
github.com/cure53/DOMPurify/security/advisories/GHSA-cjmm-f4jc-qw8r
vulncheck.com/advisories/dompurify-before-uri-validation-bypass-via-add-attr
bugzilla.redhat.com/show_bug.cgi?id=2506429
cve.org/CVERecord?id=CVE-2026-65913
nvd.nist.gov/vuln/detail/CVE-2026-65913
github.com/cure53/DOMPurify/security/advisories/GHSA-cj63-jhhr-wcxv
vulncheck.com/advisories/dompurify-before-prototype-pollution-via-use-profiles
bugzilla.redhat.com/show_bug.cgi?id=2506430
cve.org/CVERecord?id=CVE-2026-65914
nvd.nist.gov/vuln/detail/CVE-2026-65914
github.com/cure53/DOMPurify/security/advisories/GHSA-h8r8-wccr-v5f2
vulncheck.com/advisories/dompurify-before-mutation-xss-via-re-contextualization
bugzilla.redhat.com/show_bug.cgi?id=2514177
cve.org/CVERecord?id=CVE-2026-73088
nvd.nist.gov/vuln/detail/CVE-2026-73088
github.com/browserslist/browserslist/commit/f9914ad9effc865ccc27d816255625890b31ca51
github.com/browserslist/browserslist/releases/tag/4.28.7
github.com/browserslist/browserslist/security/advisories/GHSA-73wf-gq98-2v4g
bugzilla.redhat.com/show_bug.cgi?id=2514195
cve.org/CVERecord?id=CVE-2026-73089
nvd.nist.gov/vuln/detail/CVE-2026-73089
github.com/browserslist/browserslist/commit/f2931a3ff2a3a31abf84ef01a7400b270aad6405
github.com/browserslist/browserslist/security/advisories/GHSA-c83g-rgw3-j3cx
ubuntu.com/security/CVE-2026-65904