GHSA-8r6m-32jq-jx6qHighDisclosed before NVD
fast-xml-parser: Repeated DOCTYPE declarations reset entity expansion limits
📋 Description
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
🎯 Affected products1
- npm/fast-xml-parser:>= 5.9.3, < 5.10.1
🔗 References (4)
- https://github.com/NaturalIntelligence/fast-xml-parser/security/advisories/GHSA-8r6m-32jq-jx6q
- https://github.com/NaturalIntelligence/fast-xml-parser/commit/4e546e03987662de5495d050b5fba26bea65383f
- https://github.com/NaturalIntelligence/fast-xml-parser/releases/tag/v5.10.1
- https://github.com/advisories/GHSA-8r6m-32jq-jx6q