Vulnerability library
Security checkSeptember 08, 2026

xmldom: Quadratic-time parsing via the malformed-input recovery path — `parseElementStartPart` re-scan and `normalize()`

Understand the exposure, see the recommended fix, and check whether your own website has related weaknesses.

High severitynpm@xmldom/xmldom

Check your website

Find this and other vulnerabilities with a free scan.

Your scan runs on your computer. No account required.

Description

xmldom’s malformed-input error-recovery path has two quadratic-time (O(n²)) behaviors that a single crafted input triggers together, so a tiny, highly compressible document (tens of KB) stalls the Node.js event loop for multiple seconds. It is reachable from DOMParser.parseFromString under default options — i.e.

Recommendation

Update the @xmldom/xmldom package to the latest compatible version. Followings are version details:

  • Affected version(s): **>= 0.9.0, <= 0.9.11 >= 0.7.0, <= 0.8.14**
  • Patched version(s): **0.9.12 0.8.15**

References

Could your website be exposed too?

SmartScanner can check your website for xmldom: Quadratic-time parsing via the malformed-input recovery path — `parseElementStartPart` re-scan and `normalize()` and gives you actionable findings to investigate.

Start a free scan

Related Issues

See something that needs correcting? Let us knowUpdated September 08, 2026