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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-1333",
"CWE-400"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/83xxx/CVE-2026-83619.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0.7.0"
},
{
"fixed": "0.8.15"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "3abb0934f5a8a84d83a1f9cde0f2bd04c08b2a09"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "0.8.15",
"range": [
{
"fixed": "b5b8fb5b579ae1183b34e74b3bc39d7eb50a226a"
}
],
"source": "REFERENCES_TAG"
}
]
}