CVE Catalog

CVE-2026-83618

HighCVSS 8.7
Published: Translated: NVD NIST

Summary

xmldom is a JavaScript module implementing DOMParser and XMLSerializer. In versions from 0.9.10 to 0.9.12, validation of DocumentType.publicId and systemId using expressions with the multiline flag allows bypassing validation and injecting markup into the <!DOCTYPE> declaration. This issue is fixed in version 0.9.12.

Risk Assessment

The vulnerability allows XML injection, potentially leading to unauthorized modification of XML documents or XXE attacks if data is processed unsafely.

Recommendation

It is recommended to upgrade @xmldom/xmldom to version 0.9.12 or later, which contains the fix.

Other vulnerabilities in @xmldom/xmldom

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS