Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

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

Quick assessment

Affected
xmldom xmldom
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

xmldom 是一个纯 JavaScript 的 W3C 标准(XML DOM Level 2 Core)DOMParser 和 XMLSerializer 模块。在 0.9.0 到 0.9.12 版本中,lib/grammar.js 中共享的 reg() 构建函数在编译带锚点的 QName_exact 校验器时使用了多行标志,导致 和 仅对单行进行校验,而非对整个名称进行校验。因此, 、 、 和 会接受格式错误的 XML 名称:其首行有效,而后续文本在通过默认路径或 序列化时会注入标记。触发此问题的 ECMASc

CVSS 8.7 · High
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-83609

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
xmldom: Creation-time XML Name/QName validation is bypassable via an embedded line terminator, allowing injection on the default serialization path
Source: CVE Program / CVE List V5
Vulnerability Description
xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. From 0.9.0 until 0.9.12, the shared reg() builder in lib/grammar.js compiles the anchored QName_exact validator with the multiline flag, so ^ and $ validate only one line instead of the complete name. createElementNS, createAttributeNS, createDocumentType, and createAttribute consequently accept a malformed XML name whose first line is valid and whose later text injects markup when serialized through either the default path or requireWellFormed: true. The triggering ECMAScript line terminators are U+000A, U+000D, U+2028, and U+2029. This issue is fixed in @xmldom/xmldom version 0.9.12.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
XML注入(XPath盲注)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
xmldom xmldom >= 0.9.0, < 0.9.12 -
@xmldom xmldom >= 0.9.0, < 0.9.12 -

II. Public POCs for CVE-2026-83609

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-83609

登录查看更多情报信息。

Other References for CVE-2026-83609 (4)

Same Patch Batch · xmldom · 2026-09-01 · 10 CVEs total

CVE-2026-83605 8.7 HIGH xmldom: Attribute name injection via setAttribute() bypasses requireWellFormed
CVE-2026-83606 8.7 HIGH xmldom PI grammar regex ReDoS: quadratic backtracking on unterminated processing instructi
CVE-2026-83607 8.7 HIGH xmldom: Element name injection via createElement() bypasses requireWellFormed
CVE-2026-83613 8.7 HIGH xmldom: Quadratic-time attribute deduplication
CVE-2026-83612 8.7 HIGH xmldom: HTML raw-text closing-tag case mismatch causes output amplification
CVE-2026-83614 8.7 HIGH xmldom: Quadratic-time parsing via the malformed-input recovery path — `parseElementStartP
CVE-2026-83608 8.7 HIGH xmldom: DocType `name` Injection Bypasses requireWellFormed
CVE-2026-83611 6.9 MEDIUM xmldom: Parser silently accepts a not-well-formed end tag whose name is followed by a line
CVE-2026-83610 6.3 MEDIUM xmldom: XML fragment injection via invalid EntityReference.nodeName during requireWellForm

IV. Related Vulnerabilities

V. Comments for CVE-2026-83609

No comments yet


Leave a comment