Skip to content
OpenAdvisories
High · 8.7 CVE-2026-83619 EUVD-2026-69248GHSA-x4fp-j954-r2f4

xmldom: End-tag Whitespace-Trim Regex ReDoS — quadratic backtracking in the 0.8.x end-tag parser

Published Sep 1, 2026 · Updated Sep 1, 2026 · Assigned by GitHub_M

Description

xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. From 0.7.0 until 0.8.15, the release-0.8.x parser in lib/sax.js trims captured end-tag names with the unanchored global expression /[ \t\n\r]+$/g. For an end tag containing a long whitespace run followed by a non-whitespace character, the expression retries from each possible starting position and backtracks quadratically before failing its end anchor. DOMParser.parseFromString() reaches the path under default options, allowing a small unauthenticated XML input to stall the Node.js event loop; the 0.9.x and unscoped npm lines do not contain this expression. This issue is fixed in @xmldom/xmldom version 0.8.15.

Affected products

VendorProductAffectedFixed
xmldom xmldom >= 0.7.0, < 0.8.15 —
@xmldom xmldom >= 0.7.0, < 0.8.15 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 node-xmldom 0.9.5-1 —
Debian 13 node-xmldom 0.9.5-1 —
Debian 12 node-xmldom No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 24.04 LTS node-xmldom No fix yet —
Ubuntu 22.04 LTS node-xmldom No fix yet —
Ubuntu 20.04 LTS node-xmldom No fix yet —

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 python-tensorboard No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
npm @xmldom/xmldom >= 0.7.0, < 0.8.15 0.8.15 GHSA-x4fp-j954-r2f4

Advisories 3

References