CVE-2026-83612 json
xmldom: HTML raw-text closing-tag case mismatch causes output amplification
published 2mo ago modified 2mo ago also EUVD-2026-69227 , GHSA-6mj3-qw4j-hgrw
- 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 44%
- 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-beta.1 until 0.9.12, HTML-mode parsing through DOMParser.parseFromString() mishandles a mixed-case closing tag for the script, style, textarea, or title raw-text elements. parseHtmlSpecialContent, selected by isHTMLRawTextElement or isHTMLEscapableRawTextElement, uses a case-sensitive indexOf() and then calls substring() with a missing-close result of negative one, causing unstable parser progression and quadratic output amplification. A small untrusted text/html document can consequently consume disproportionate CPU and memory when parsed and serialized. 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-83612
- github.com/xmldom/xmldom@7ced40c commit
- github.com/xmldom/xmldom#1071 pull request
- github.com/xmldom/xmldom/releases/tag/0.9.12 release
Is CVE-2026-83612 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-83612 updated cvss 7.5
xmldom: xmldom: Denial of Service via crafted HTML with mixed-case tags
-
Red Hat OpenShift Container Platform 4 openshift4/ose-consoleaffected: workaround, no fix available “Pre-sanitize untrusted HTML inputs to normalize raw-text element closing tags to lower case prior to passing them to DOMParser.parseFromString(), or restrict parsing to trusted XML/HTML sources.”
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
- yes
- Technical impact
- partial
- Assessed
- 2mo ago
Exploit prediction
0.52% chance of exploitation in the next 30 days, higher than 44% of all scored CVEs (FIRST EPSS, 2026-11-11).
Exploits and checks
- github.com https://github.com/xmldom/xmldom/security/advisories/GHSA-6mj3-qw4j-hgrw referenced PoC, tagged "exploit" by a source, unverified
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:N/VA:H/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:N/VA:H/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-beta.1, <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/7ced40c06c28d151e996a97045018c3559ae4707
web
-
github.com
/xmldom/xmldom/security/advisories/GHSA-6mj3-qw4j-hgrw
exploit, web, advisory
-
github.com
/xmldom/xmldom/releases/tag/0.9.12
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-83612
advisory
-
github.com
/xmldom/xmldom
package
Sources
- CVE List CVE-2026-83612
- GitHub Advisory GHSA-6mj3-qw4j-hgrw
- NVD CVE-2026-83612
- Maintainer advisory GHSA-6mj3-qw4j-hgrw
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.