Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify target service accepting untrusted XML input
-
DeliveryCraft XML document with multiple DOCTYPE declarations containing exponential entity references
-
ExploitSubmit crafted payload to the parser endpoint
-
ExecutionEach DOCTYPE resets addInputEntities() counters to zero
-
PersistEntity expansion proceeds without configured limits
-
ImpactCPU exhaustion and heap overflow block or crash the Node.js process
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A02:2025 - Security Misconfiguration
ASVS 5.0
V13 - Configuration XML entity recursion limits
|
| Exploitation Conditions | Exploitation requires that the target application uses fast-xml-parser version 5.9.3 through 5.10.0 and that the processEntity parser option is not explicitly set to false (entity processing is enabled by default). No authentication, elevated network position, user interaction, or non-default deployment configuration is required beyond these two conditions - any code path that delivers attacker-controlled XML bytes to the parser's parse() method is a viable attack surface. Exploitation is limited by the processEntity flag: deployments with { processEntity: false } disable the entity-processing pipeline and are not vulnerable to this counter-reset bypass. Additionally, services that exclusively parse internally generated or otherwise fully trusted XML documents face no practical risk regardless of version, as the attack requires the attacker to control the DOCTYPE content of the parsed document. |
| Impact | The CVSS 4.0 score of 8.7 with vector AV:N/AC:L/AT:N/PR:N/UI:N/VA:H accurately characterizes this vulnerability: network-reachable with no complexity, no authentication, no user interaction required, and high availability impact confined to the vulnerable system. Impact is limited to availability (VA:H); confidentiality and integrity are unaffected (VC:N/VI:N), confirming a pure denial-of-service profile. No EPSS score was supplied in the provided intelligence, so probabilistic exploitation likelihood cannot be quantified from this dataset. The vulnerability is absent from CISA KEV and no public exploit code has been identified, indicating no confirmed mass exploitation at time of analysis. However, the exploitation bar is very low - a crafted XML payload suffices - so any internet-exposed endpoint passing untrusted XML to the affected versions faces meaningful practical risk. One substantive limiting factor is the processEntity option: deployments explicitly setting processEntity: false disable entity processing entirely and are not exposed to this counter-reset path. The availability of a patched release (5.10.1) and the existence of a configuration-based workaround make remediation straightforward, reducing residual risk significantly once either is applied. |
| Exploit ScenarioDerived | An attacker targeting a Node.js web service that accepts XML input - such as a SOAP API endpoint, an XML file upload processor, or an RSS/Atom feed ingestion worker - submits a crafted XML document containing two or more DOCTYPE declarations, each defining entities that reference other entities exponentially (a classic billion-laughs structure). Because each successive DOCTYPE resets the parser's expansion counters, all entity references resolve without the configured limits, driving CPU utilization to 100%, exhausting the process heap, and eventually crashing or permanently stalling the Node.js event loop. No public exploit code has been identified, but the fix commit reveals the exact code path, making proof-of-concept construction straightforward for a knowledgeable attacker. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 13, 2026
Entity expansion limit bypass in fast-xml-parser 5.9.3-5.10.0 enables remote unauthenticated denial of service against any Node.js service parsing untrusted XML. The parser's OrderedObjParser.js passes each encountered DOCTYPE declaration through addInputEntities(), which reinitializes the entity-expansion safety counters (maxTotalExpansions, maxExpandedLength) on every call - a crafted document with multiple DOCTYPE blocks therefore resets these guards to zero repeatedly within a single parse operation, nullifying protections against billion-laughs-style exponential entity expansion. The result is excessive CPU consumption, event-loop blocking, memory exhaustion, and process termination. No active exploitation has been confirmed (not in CISA KEV), but exploitation requires zero authentication or special configuration beyond the default entity-processing behavior.
RemediationAI
Upgrade fast-xml-parser to version 5.10.1 or later; this is the vendor-released patch as confirmed by the GitHub release tag at https://github.com/NaturalIntelligence/fast-xml-parser/releases/tag/v5.10.1 and the fix commit at https://github.com/NaturalIntelligence/fast-xml-parser/commit/4e546e03987662de5495d050b5fba26bea65383f. If an immediate upgrade is blocked, two compensating controls are available: first, explicitly set processEntity: false in the XMLParser options - this disables entity substitution entirely and removes the vulnerable code path at the cost of losing entity resolution in parsed output, which may break applications relying on entity-defined content; second, pre-validate input XML for multiple DOCTYPE declarations before passing it to the parser - this requires a reliable pre-scan step that must itself be robust to bypass, adds latency, and is error-prone if the validation logic diverges from the parser's DOCTYPE detection. The GitHub Security Advisory GHSA-8r6m-32jq-jx6q at https://github.com/NaturalIntelligence/fast-xml-parser/security/advisories/GHSA-8r6m-32jq-jx6q documents all three mitigations.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
fast-xml-parser is a widely-deployed pure-JavaScript npm package (NaturalIntelligence/fast-xml-parser) providing XML-to-JS-object conversion without native C/C++ bindings. CWE-776 (Improper Restriction of Recursive Entity References in DTDs) is the root cause class, covering billion-laughs and exponential entity expansion attacks where DTD entity references expand to arbitrarily large strings. The specific flaw is in src/xmlparser/OrderedObjParser.js: on each DOCTYPE encounter the parser invokes addInputEntities() from the @nodable/entities dependency, which was designed to set up entity expansion limits but unconditionally resets maxTotalExpansions and maxExpandedLength counters to defaults on every call. The XML specification prohibits multiple DOCTYPE declarations in a well-formed document, but the parser accepted them without error, allowing an adversarial document to trigger as many counter resets as desired. The fix (commit 4e546e0) introduces a doctypefound boolean on the OrderedObjParser instance, initialized in the constructor and reset at the start of each parse, and throws 'Multiple DOCTYPE declarations found.' immediately upon encountering a second DOCTYPE - the parser never reaches addInputEntities() again, preserving counter state.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Network-accessible with no auth, no complexity, and no user interaction; impact is pure availability (DoS) within unchanged scope - no confidentiality or integrity consequence.
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.org
fast-xml-parser allows users to process XML from JS object without C/C++ based libraries or callbacks. From 5.9.3 until 5.10.1, src/xmlparser/OrderedObjParser.js processes multiple DOCTYPE declarations within a single XML document and passes each declaration's entities through addInputEntities(). addInputEntities() resets maxTotalExpansions and maxExpandedLength every time it is called, allowing additional DOCTYPE declarations to repeatedly reset the configured entity-expansion limits during one parse operation. A crafted XML document can then cause excessive CPU use, event-loop blocking, memory exhaustion, and process termination. This issue is fixed in version 5.10.1.
Executive ViewAI
fast-xml-parser versions 5.9.3-5.10.0 contain a critical entity-expansion flaw that allows attackers to remotely crash any Node.js service using the library without authentication by submitting specially crafted XML; no public exploit code has been identified at time of analysis, but the vulnerability creates immediate availability risk. Since no vendor patch currently exists, organizations must implement compensating controls or upgrade to unaffected versions immediately to protect service continuity.
No vendor-released patch identified at time of analysis. Interim mitigations include: (1) disable external entity processing in parser configuration where business logic permits, (2) implement strict XML input validation and reject DOCTYPE declarations in untrusted input streams, (3) deploy Web Application Firewall rules blocking billion-laughs attack signatures and excessive entity nesting, (4) enforce per-request timeouts (2-5 seconds maximum) and strict payload size limits (1-10 MB maximum) for XML parsing operations, (5) implement rate limiting on XML parsing endpoints, (6) isolate XML-parsing microservices to constrain blast radius of process termination.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Same technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.0 | Not-Affected |
| SUSE Linux Enterprise Server 16.1 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Not-Affected |
| openSUSE Leap 16.0 | Not-Affected |
EUVD-2026-58184
GHSA-8r6m-32jq-jx6q
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB