Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. @xmldom/xmldom
  4. ›
  5. CVE-2026-83609

CVE-2026-83609: xmldom: Creation-time XML Name/QName validation is bypassable via an embedded line terminator, allowing injection on the default serialization path

September 8, 2026

An embedded line terminator bypasses xmldom’s always-on, WHATWG-mandated creation-time name validation. createElementNS, createAttributeNS, createDocumentType, and createAttribute should reject a malformed qualified name with InvalidCharacterError, but a name whose first line is well-formed slips through and enters the DOM. On serialization it is emitted verbatim, so the characters after the line terminator inject markup into the output. The injection reaches the default serialization path, and enabling requireWellFormed does not prevent it.

References

  • github.com/advisories/GHSA-3px3-54cx-rmw9
  • github.com/xmldom/xmldom/commit/7b2ec67e1750daadd0bb06c92e875e726544a362
  • github.com/xmldom/xmldom/pull/1071
  • github.com/xmldom/xmldom/releases/tag/0.9.12
  • github.com/xmldom/xmldom/security/advisories/GHSA-3px3-54cx-rmw9
  • nvd.nist.gov/vuln/detail/CVE-2026-83609

Code Behaviors & Features

Detect and mitigate CVE-2026-83609 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions starting from 0.9.0 before 0.9.12

Fixed versions

  • 0.9.12

Solution

Upgrade to version 0.9.12 or above.

Impact 7.5 HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

Learn more about CVSS

Weakness

  • CWE-625: Permissive Regular Expression
  • CWE-91: XML Injection (aka Blind XPath Injection)

Source file

npm/@xmldom/xmldom/CVE-2026-83609.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Tue, 22 Sep 2026 12:19:57 +0000.