xmldom: requireWellFormed DocType publicId/systemId validation is bypassable via an embedded line terminator
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.
Summary
xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. From 0.9.10 until 0.9.12, the requireWellFormed: true serializer validates DocumentType.publicId and DocumentType.systemId with PubidLiteral_match and SystemLiteral_match expressions produced by reg() in lib/grammar.js, which inherit the multiline flag. A complete valid literal on the first line can therefore satisfy the matcher while U+000A, U+000D, U+2028, or U+2029 and breakout markup remain in the emitted <!DOCTYPE ...> declaration. This bypasses the strict-serialization mitigation for the earlier DocumentType injection advisory; creation and direct property assignment remain unvalidated by design. This issue is fixed in @xmldom/xmldom version 0.9.12.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA xmldom (xmldom) Fixed in 0.9.12
- Fix · CNA xmldom (@xmldom) Fixed in 0.9.12
- Fix · GHSA-vr34-hp96-76pp @xmldom/xmldom (npm) Fixed in 0.9.12 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
Not affected: 1 product
- Red Hat OpenShift Container Platform 4
Timeline
- 2026-10-02 Threatist record created from CVE-2026-83618
- 2026-10-03 Alias added: GHSA-vr34-hp96-76pp
References
More xmldom vulnerabilities
- TI-2022-18728 xmldom allows multiple root nodes in a DOM CVSS 3.1CRITICAL 9.8
- TI-2026-57716 xmldom: requireWellFormed element/attribute name validation is bypassable via an embedded line terminator CVSS 4.0HIGH 8.7
- TI-2026-57715 xmldom: Processing Instruction Target Injection Bypasses requireWellFormed CVSS 4.0HIGH 8.7
- TI-2026-57714 xmldom: Quadratic-memory consumption CVSS 4.0HIGH 8.7
- TI-2026-57712 xmldom: Quadratic-time attribute deduplication CVSS 4.0HIGH 8.7
- TI-2026-57711 xmldom: HTML raw-text closing-tag case mismatch causes output amplification CVSS 4.0HIGH 8.7
Sources
- CVE-2026-83618 · CVE Program
- CVE-2026-83618 · NVD
- FIRST EPSS
- GHSA-vr34-hp96-76pp · GitHub Advisory Database · CC BY 4.0
- CVE-2026-83618 · 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