Skip to main content
← All vulnerabilities
CVE-2026-83617GHSA-JXJR-3G7G-3944

xmldom: requireWellFormed element/attribute name validation is bypassable via an embedded line terminator

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.9.12
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

Summary

xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. From 0.9.11 until 0.9.12, the requireWellFormed: true element and attribute name checks use the anchored QName_exact expression produced by reg() in lib/grammar.js, which inherits the multiline flag. A name with a valid first line followed by U+000A, U+000D, U+2028, or U+2029 and breakout markup therefore passes validation and is emitted verbatim in element start and end tags or attribute names. This bypasses the strict-serialization checks introduced for the earlier element-name and attribute-name injection advisories, while the default serialization path remains outside the strict guarantee. This issue is fixed in @xmldom/xmldom version 0.9.12.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • xmldom xmldom

    From 0.9.11 · fixed in 0.9.12

  • @xmldom xmldom

    From 0.9.11 · fixed in 0.9.12

  • @xmldom/xmldomnpm

    From 0.9.11 · fixed in 0.9.12

References 4

GitHub · xmldom/xmldom