CVE-2026-83611
Summary
xmldom's parser silently accepts a not-well-formed end tag whose valid name is followed by
trailing content — e.g. </a⏎junk>. The element is closed, the trailing content is discarded, and no
error is reported, even though the XML end-tag production allows only optional whitespace after the
name and both Chromium and Firefox reject such input as application/xml. An application that relies
on xmldom to reject not-well-formed input therefore receives a false "valid" result for a document the
specification and browsers consider malformed.
Details
Across every affected version, an end tag whose valid Name is followed by trailing content before
is silently accepted: the element is closed, the residue is dropped, and no error is reported. How
much leaks differs by line (see Affected Versions), but the observable weakness is the same.
On the current (0.9.x) line, the parser validates the end-tag name against the XML ETag production
with an anchored regular expression (^ QName S? $). That expression is compiled with the m
(multiline) flag by a shared builder, so $ matches at an interior line terminator: a valid name on
the first line satisfies the anchored production and any content after the line break escapes the
check. On 0.9.x the whitespace-separated variant (</a junk>) is already rejected; only the
line-terminator variant leaks. Older lines have no anchored end-tag validator at all, so they accept
both the line-terminator and the whitespace variant.
This is not content injection — the trailing content is dropped, and the resulting DOM is a normal
single-root document (<a/>). The security-relevant property is the silent acceptance of
not-well-formed input: xmldom's parse result disagrees with the specification and with browser XML
parsers, so any control that treats "xmldom parsed it without error" as "well-formed" is bypassed.
Root Cause
On the 0.9.x line, where the line-terminator variant specifically leaks:
1. A shared regexp builder compiles anchored
⚡ Watch CVE-2026-83611
Get an email if CVE-2026-83611 is added to CISA KEV, gains public exploit code, or a new advisory cites it — max one per day, one-click unsubscribe.
Exploitation outlook
- Low exploitation risk0.35% 30-day exploitation probability — currently an unlikely target, but scores change as exploit code circulates. Riskier than 28% of all EPSS-scored CVEs.
Advisory coverage (3)
- mediumGHSA-6h8r-xr42-gp59: xmldom: Parser silently accepts a not-well-formed end tag whose name is followed by a lin…ghsa · 2026-09-08
- unknownCVE-2026-83611: xmldom: Parser silently accepts a not-well-formed end tag whose name is followed by a line bre…msrc · 2026-09-08
- unknownCVE-2026-83611: xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSeriali…nvd · 2026-09-01
External references
Embed the live status
— this badge updates automatically when the KEV or exploit status changes. How to embed it →
[](https://www.csirts.com/cve/CVE-2026-83611)