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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-83605— xmldom: Attribute name injection via setAttribute() bypasses requireWellFormed

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 模块。 在 @xmldom/xmldom 0.8.14 和 0.9.11 之前,以及在 xmldom 0.6.0 及更早版本中, 调用私有的 路径时,并未对属性名进行验证;而 则会针对 QName 进行验证。 会按原样输出属性名,且 并未对这些属性名进行验证。因此,经过构造的属性名可以终止预期的属性,并向供浏览器消费的输出中注入额外属性(包括事件

CVSS 8.7 · High

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-83605

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: Attribute name injection via setAttribute() bypasses requireWellFormed
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. Prior to @xmldom/xmldom versions 0.8.14 and 0.9.11, and in xmldom version 0.6.0 and earlier, Element.setAttribute() calls the private _createAttribute(name) path without validating the attribute name, while Document.createAttribute(name) validates against QName. XMLSerializer.serializeToString() emits attribute names verbatim, and requireWellFormed: true did not validate them, so a crafted name can terminate the intended attribute and inject additional attributes, including event handlers, into browser-consumed output; synthesized xmlns:PREFIX declarations expose the same unchecked-name boundary. This issue is fixed in @xmldom/xmldom versions 0.8.14 and 0.9.11; no fixed version is available for xmldom.
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.6.0 -
@xmldom xmldom >= 0.7.0, < 0.8.14 -

II. Public POCs for CVE-2026-83605

# 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-83605

登录查看更多情报信息。

Other References for CVE-2026-83605 (7)

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

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-83609 8.7 HIGH xmldom: Creation-time XML Name/QName validation is bypassable via an embedded line termina
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-83605

No comments yet


Leave a comment