Description
fast-xml-parser allows users to process XML from JS object without C/C++ based libraries or callbacks. Versions 4.0.0-beta.3 through 5.5.5 contain a bypass vulnerability where numeric character references (&#NNN;, &#xHH;) and standard XML entities completely evade the entity expansion limits (e.g., maxTotalExpansions, maxExpandedLength) added to fix CVE-2026-26278, enabling XML entity expansion Denial of Service. The root cause is that replaceEntitiesValue() in OrderedObjParser.js only enforces expansion counting on DOCTYPE-defined entities while the lastEntities loop handling numeric/standard entities performs no counting at all. An attacker supplying 1M numeric entity references like A can force ~147MB of memory allocation and heavy CPU usage, potentially crashing the process—even when developers have configured strict limits. This issue has been fixed in version 5.5.6.
Problem types
CWE-776: Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion')
Product status
References
github.com/...parser/security/advisories/GHSA-8gc5-j5rx-235r
github.com/...ommit/bd26122c838e6a55e7d7ac49b4ccc01a49999a01
github.com/...telligence/fast-xml-parser/releases/tag/v5.5.6