fast-xml-parser: Repeated DOCTYPE declarations reset entity expansion limits
Published 21 Jul 2026 · Updated 10 Sept 2026
Affected package
- Affected
- >=5.9.3 <5.10.1
- Fixed in
- 5.10.1
npm install fast-xml-parser@5.10.1Details
Impact
fast-xml-parser processes multiple "DOCTYPE" declarations within a single XML document. Each declaration passes its entities to @nodable/entities through addInputEntities().
addInputEntities() resets the entity expansion counters every time it is called. An attacker can therefore insert additional DOCTYPE declarations to repeatedly reset maxTotalExpansions and maxExpandedLength during one parse operation.
This allows a crafted XML document to exceed the configured entity-expansion limits and can cause excessive CPU use, event-loop blocking, memory exhaustion, and process termination.
Workarounds
- Manually check if multiple DOCTYPEs are not present in input contents
- Update to v5.10.1
- Keep
processEntityflag off
Is GHSA-8r6m-32jq-jx6q in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected fast-xml-parser, and gives you the command that fixes it.
References
- Linkgithub.com/NaturalIntelligence/fast-xml-parser/security/advisories/GHSA-8r6m-32jq-jx6q
- Linkgithub.com/NaturalIntelligence/fast-xml-parser/commit/4e546e03987662de5495d050b5fba26bea65383f
- Packagegithub.com/NaturalIntelligence/fast-xml-parser
- Linkgithub.com/NaturalIntelligence/fast-xml-parser/releases/tag/v5.10.1
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.