Cloudanix VulnDB

CVE-2026-26278

High · 7.5

CVSS

7.5

EPSS

1.1%

Published

Feb 19, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A small malicious XML file can make affected applications freeze or become unavailable until the XML parser is updated or entity processing is disabled.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
XXE
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

fast-xml-parser versions 4.1.3 through 5.3.5 can be driven into unbounded XML entity expansion when parsing XML that includes a DOCTYPE with nested or recursive entity definitions. A small attacker-controlled XML document can expand into a very large in-memory representation or force repeated entity substitution, consuming CPU time and potentially memory until the Node.js process becomes unresponsive. The practical impact is denial of service: no authentication or user interaction is required if an application exposes XML parsing to the network, and the CVSS vector indicates high availability impact with no direct confidentiality or integrity impact. Version 5.3.6 and commit ecb2ca118ad3d6c62f2cc90416b58da24db5d18b address the issue in naturalintelligence/fast-xml-parser; internationalcolorconsortium/iccdev is listed as affected with a fix in commit 2eb25ab95f0db7664ec3850390b6f89e302e7039.

Why it matters to the business

Applications, APIs, ingestion pipelines, webhooks, file upload processors, and background workers that accept XML from untrusted sources can be slowed or frozen by a very small malicious request or file. This can cause service outages, request backlog, failed transactions, autoscaling cost spikes, degraded customer experience, and operational incident response even though the flaw does not directly expose data. The issue is not currently listed in CISA KEV, is not known to be used in ransomware campaigns, and has low EPSS at 0.00843 with no reported mature public exploit, but it is still important for internet-facing XML processing paths because exploitation is simple once an attacker can submit XML.

How an attack unfolds

An attacker first identifies an endpoint, queue, upload feature, integration, or service that parses XML using an affected fast-xml-parser version or a downstream component that embeds it. The attacker submits a crafted XML document containing a DOCTYPE section with many nested entity declarations, commonly similar to a "Billion Laughs" payload. When the application parses the XML with entity processing enabled, the parser repeatedly expands the defined entities without an effective expansion limit. A small request can therefore cause seconds or minutes of CPU-bound processing, high event-loop latency, memory pressure, request timeouts, and worker saturation. Repeated submissions can keep the application or parsing workers unavailable, resulting in a denial-of-service condition. No evidence in the provided data indicates active exploitation by named threat actors, KEV inclusion, ransomware usage, or reliable remote code execution from this flaw.

How to fix it

Upgrade naturalintelligence/fast-xml-parser to version 5.3.6 or later. For source-based deployments, ensure the fix from commit ecb2ca118ad3d6c62f2cc90416b58da24db5d18b is present. For internationalcolorconsortium/iccdev, update to a revision containing commit 2eb25ab95f0db7664ec3850390b6f89e302e7039. If immediate upgrade is not possible, disable XML entity processing by configuring fast-xml-parser with `processEntities: false`, and reject XML containing `<!DOCTYPE` or `<!ENTITY` at trust boundaries where those features are not explicitly required. Add request body size limits, parser timeouts, worker isolation, rate limiting, queue backpressure, and circuit breakers around XML ingestion paths. Ensure software composition analysis covers transitive dependencies and downstream packages that bundle or pin vulnerable fast-xml-parser versions.

How to confirm the fix worked

Confirm dependency versions with package lockfiles, SBOMs, container image scans, and runtime dependency inspection; affected fast-xml-parser versions are 4.1.3 through 5.3.5, and fixed version is 5.3.6 or later. Verify that the deployed artifact actually contains the patched dependency, not only the source repository. Review XML parser configuration and confirm `processEntities: false` is set where entity expansion is not required. Test exposed XML ingestion paths with a safe, bounded entity-expansion test payload in a non-production environment and confirm the request is rejected quickly or completes within expected limits without CPU spikes. Validate that WAF/API gateway rules, upload validators, or application middleware reject unexpected `DOCTYPE` and `ENTITY` declarations. Monitor after deployment for normal request latency, reduced parser CPU time, and absence of recurring XML parse timeouts.

Typical attack path

  1. Find an application feature that accepts XML over HTTP, message queues, file uploads, API integrations, or batch import jobs.
  2. Confirm that malformed or complex XML is processed server-side rather than rejected at the edge.
  3. Send XML containing a DOCTYPE declaration with nested or recursively referenced entity definitions.
  4. Trigger parsing with entity processing enabled in fast-xml-parser versions 4.1.3 through 5.3.5 or an affected downstream product.
  5. Force excessive entity expansion, causing high CPU usage, event-loop blocking, memory pressure, long response times, or process unresponsiveness.
  6. Repeat requests or uploads to sustain application-level denial of service and exhaust worker capacity.

How to detect it

To determine whether exploitation has already occurred, review application access logs, API gateway logs, WAF logs, upload metadata, message queue payload samples, and XML ingestion service logs for requests or files containing `<!DOCTYPE` and `<!ENTITY` declarations, especially nested entity chains. Correlate these events with abnormal CPU saturation, Node.js event-loop lag, memory pressure, garbage collection spikes, request timeouts, HTTP 408/429/500/502/503/504 responses, worker restarts, container OOM kills, autoscaling events, queue backlog growth, or health-check failures. Inspect retained request bodies or quarantined uploaded files for repeated entity names such as `lol`, deeply nested entity references, or unusually small XML inputs that produce very long processing times. Because exploitation is a denial-of-service technique rather than a persistence mechanism, durable host artifacts may be limited; focus on traffic/content evidence and operational telemetry around the time of service degradation. No named threat actor or ransomware campaign is indicated in the provided data.

  • <!DOCTYPE
  • <!ENTITY
  • <!ENTITY lol
  • &lol;
  • &lol1;
  • &lol2;
  • &lol3;
  • &lol4;
  • &lol5;
  • &lol6;
  • &lol7;
  • &lol8;
  • &lol9;
  • Billion Laughs
  • processEntities: true
  • processEntities=true
  • XML parse timeout
  • entity expansion
  • Entity expansion
  • JavaScript heap out of memory
  • FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed
  • 503 Service Unavailable
  • 504 Gateway Timeout

What your security team should do

  • Prioritize remediation for internet-facing APIs, webhook receivers, file upload services, and integration workers that parse untrusted XML.
  • Upgrade fast-xml-parser to 5.3.6 or later, or deploy builds containing commit ecb2ca118ad3d6c62f2cc90416b58da24db5d18b; update affected downstream components such as iccdev to a fixed revision.
  • Disable entity processing with `processEntities: false` unless the business function explicitly requires XML entity expansion.
  • Add preventive controls to reject XML containing `<!DOCTYPE` or `<!ENTITY` from untrusted sources where those constructs are unnecessary.
  • Search SBOMs, lockfiles, container images, and vendor packages for transitive use of fast-xml-parser versions 4.1.3 through 5.3.5.
  • Implement parser execution time limits, request size limits, queue backpressure, rate limiting, and worker isolation to reduce denial-of-service blast radius.
  • Review historical logs for requests or files containing DOCTYPE and ENTITY declarations correlated with high CPU, timeouts, 5xx responses, process restarts, or queue backlog.
  • Track dependency advisory updates even though this issue is not currently KEV-listed and has low EPSS, because entity-expansion denial-of-service payloads are easy to adapt.

The record

fast-xml-parser allows users to validate XML, parse XML to JS object, or build XML from JS object without C/C++ based libraries and no callback. In versions 4.1.3 through 5.3.5, the XML parser can be forced to do an unlimited amount of entity expansion. With a very small XML input, it’s possible to make the parser spend seconds or even minutes processing a single request, effectively freezing the application. Version 5.3.6 fixes the issue. As a workaround, avoid using DOCTYPE parsing by `processEntities: false` option.

Affected packages

Ecosystem Package Introduced Fixed
npm fast-xml-parser 4.1.3 4.5.4
npm fast-xml-parser 5.0.0 5.3.6
Chainguard dbgate 0 7.0.6-r1
Chainguard dbgate-fips 0 7.1.0-r0
Chainguard jitsucom-jitsu-console 0 2.11.0-r15
Chainguard kibana-8.17 0 8.17.10-r10
Chainguard kibana-8.17-iamguarded 0 8.17.10-r10
Chainguard kibana-8.19 0 8.19.11-r1
Chainguard kibana-8.19-bitnami 0 8.19.11-r1
Chainguard kibana-8.19-iamguarded 0 8.19.11-r1
Chainguard kibana-9.0 0 9.0.8-r10
Chainguard kibana-9.0-bitnami 0 9.0.8-r10
Chainguard kibana-9.0-iamguarded 0 9.0.8-r10
Chainguard kibana-9.1 0 9.1.10-r5
Chainguard kibana-9.1-iamguarded 0 9.1.10-r5
Chainguard kibana-9.2 0 9.2.5-r3
Chainguard kibana-9.2-iamguarded 0 9.2.5-r3
Chainguard kibana-9.3 0 9.3.0-r1
Chainguard kibana-9.3-iamguarded 0 9.3.0-r1
Chainguard kubeflow-pipelines-frontend 0 2.15.0-r12
Chainguard langfuse-2-worker 0 2.95.12-r11
Chainguard langfuse-fips-2-worker 0 2.95.12-r13
Chainguard librechat 0 0.8.2-r3
Chainguard prism 0 5.14.3-r7
Chainguard renovate 0 43.48.3-r0
Chainguard tileserver-gl 0 5.5.0-r5
Chainguard tileserver-gl-fips 0 5.5.0-r6
Wolfi jitsucom-jitsu-console 0 2.11.0-r15
Wolfi kubeflow-pipelines-frontend 0 2.15.0-r12
Wolfi prism 0 5.14.3-r7
Wolfi renovate 0 43.48.3-r0
Wolfi tileserver-gl 0 5.5.0-r5
openSUSE:Tumbleweed heroic-games-launcher 0 2.20.0-1.1
openSUSE:Tumbleweed velociraptor 0 0.7.0.4.git185.a5708584-2.1

Related vulnerabilities