p PatchFirst

CVE-2026-83614

CVE-2026-83614 · xmldom: Quadratic-time parsing via the malformed-input recovery path — `parseElementStartPart` re-scan and `normalize()` adjacent-text merge

This page contains facts from public vulnerability sources. Check the original advisory before updating.

xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. Prior to @xmldom/xmldom versions 0.8.15 and 0.9.12, and in xmldom versions 0.3.0 through 0.6.0, two independent quadratic paths can cause denial of service. In lib/sax.js, parseElementStartPart repeatedly rescans a malformed tag name to the next > during single-character recovery; in lib/dom.js, normalize() repeatedly removes and appends adjacent text nodes, causing quadratic reindexing and string rebuilding. The first path is reachable through default DOMParser.parseFromString() processing, while the second is also reachable through a direct normalize() call on a programmatically constructed DOM, and endDocument invokes that normalization after parsing. This issue is fixed in @xmldom/xmldom versions 0.8.15 and 0.9.12; no fixed version is available for xmldom.

CVSS 8.7 · High · EPSS 0.6% · Fix available

Published
Updated

Stack: system · node

Affected products and versions

  • xmldom

    Versions
    • >= 0.3.0, <= 0.6.0: Affected

    No fix published

  • xmldom

    Versions
    • >= 0.7.0, < 0.8.15: Affected
    • >= 0.9.0, < 0.9.12: Affected

    No fix published

  • node-xmldom Debian:12

    Versions
    • 0.8.6-1
    • 0.9.10-1
    • 0.9.10-2
    • 0.9.11-1
    • 0.9.12-1
    • 0.9.5-1
    • 0.9.6-1
    • 0.9.8-1
    • 0.9.8-2
    • 0.9.9-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-xmldom Debian:13

    Versions
    • 0.9.10-1
    • 0.9.10-2
    • 0.9.11-1
    • 0.9.12-1
    • 0.9.6-1
    • 0.9.8-1
    • 0.9.8-2
    • 0.9.9-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-xmldom Debian:14

    Versions
    • 0.9.10-1
    • 0.9.10-2
    • 0.9.11-1
    • 0.9.6-1
    • 0.9.8-1
    • 0.9.8-2
    • 0.9.9-1
    Affected ranges
    • ECOSYSTEM: < 0.9.12-1

    Update to 0.9.12-1

  • @xmldom/xmldom npm

    Affected ranges
    • SEMVER: ≥ 0.7.0, < 0.8.15

    Update to 0.8.15

  • @xmldom/xmldom npm

    Affected ranges
    • SEMVER: ≥ 0.9.0, < 0.9.12

    Update to 0.9.12

  • xmldom npm

    Affected ranges
    • SEMVER: ≥ 0.3.0, ≤ 0.6.0

    No fix published

  • node-xmldom Ubuntu:20.04:LTS

    Versions
    • 0.1.27+ds-1
    • 0.1.27+ds-1+deb10u2build0.20.04.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-xmldom Ubuntu:22.04:LTS

    Versions
    • 0.5.0-1
    • 0.7.3-1
    • 0.7.5-1
    • 0.7.5-1ubuntu0.22.04.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-xmldom Ubuntu:24.04:LTS

    Versions
    • 0.8.6-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-xmldom Ubuntu:26.10

    Versions
    • 0.9.8-2
    • 0.9.10-2
    • 0.9.11-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-xmldom Ubuntu:26.04:LTS

    Versions
    • 0.9.6-1
    • 0.9.8-1
    • 0.9.8-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →