CVE-2026-83609 json
xmldom: Creation-time XML Name/QName validation is bypassable via an embedded line terminator, allowing injection on the default serialization path
published 2mo ago modified 2mo ago also EUVD-2026-69220 , GHSA-3px3-54cx-rmw9
- cvss
- 8.7
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 46%
- public exploits
- 0
- none known
Summary
xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. From 0.9.0 until 0.9.12, the shared reg() builder in lib/grammar.js compiles the anchored QName_exact validator with the multiline flag, so ^ and $ validate only one line instead of the complete name. createElementNS, createAttributeNS, createDocumentType, and createAttribute consequently accept a malformed XML name whose first line is valid and whose later text injects markup when serialized through either the default path or requireWellFormed: true. The triggering ECMAScript line terminators are U+000A, U+000D, U+2028, and U+2029. This issue is fixed in @xmldom/xmldom version 0.9.12.
Patch / fix
- npm @xmldom/xmldom 0.9.12
- xmldom_project xmldom 0.9.12
- node-xmldom Debian 14 0.9.12-1
debian advisories DEBIAN-CVE-2026-83609
- github.com/xmldom/xmldom@7b2ec67 commit
- github.com/xmldom/xmldom#1071 pull request
- github.com/xmldom/xmldom/releases/tag/0.9.12 release
Is CVE-2026-83609 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor 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-83609 updated cvss 7.5
@xmldom/xmldom: xmldom: Markup injection via embedded line terminators in XML names
-
Red Hat Build of Podman Desktop rh-podman-desktop.git 1.2.0affected: workaround, no fix available
-
Red Hat Fuse 7 xmldom 0.8.0affected: workaround, no fix planned “Will not fix”
-
Red Hat Developer Hub 1 rhdh/rhdh-hub-rhel9 Red Hat Enterprise Linux 8 grafana, grafana-loki, grafana-mssql, grafana-mysql, grafana-selinux, grafana-graphite, +9 morenot affected: vulnerable code not present
-
Red Hat Enterprise Linux 9 grafana, grafana-selinux, grafana 10.2.6-28.el10_2.4 Red Hat Enterprise Linux 10 grafana 10.2.6-28.el10_2.4not affected: component not present
-
Red Hat OpenShift AI (RHOAI) rhoai/odh-mlflow-rhel9not affected: vulnerable code not present
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
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2mo ago
Exploit prediction
0.54% chance of exploitation in the next 30 days, higher than 46% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 8.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/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 |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @xmldom/xmldom | >=0.9.0, <0.9.12 |
0.9.12 |
Affected products
- xmldom xmldom
- @xmldom xmldom
Classification
References
-
github.com
/xmldom/xmldom/pull/1071
web
-
github.com
/xmldom/xmldom/commit/7b2ec67e1750daadd0bb06c92e875e726544a362
web
-
github.com
/xmldom/xmldom/security/advisories/GHSA-3px3-54cx-rmw9
web, advisory
-
github.com
/xmldom/xmldom/releases/tag/0.9.12
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-83609
advisory
-
github.com
/xmldom/xmldom
package
Sources
- CVE List CVE-2026-83609
- GitHub Advisory GHSA-3px3-54cx-rmw9
- NVD CVE-2026-83609
- Maintainer advisory GHSA-3px3-54cx-rmw9
Fencer Intel 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.
The maintainers of xmldom/xmldom published their own advisory on GitHub. Reviewed sources take precedence over it.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.