CVE-2026-25128
High · 7.5CVSS
7.5
EPSS
0.6%
Published
Jan 30, 2026
CISA due date
—
Cloudanix analysis
A specially crafted XML message can crash affected applications that process it, causing outages until the software is updated or protected.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
In fast-xml-parser versions 5.0.9 through 5.3.3, numeric XML entity decoding does not safely handle entity values that resolve to code points outside the valid Unicode range. When untrusted XML contains values such as � or �, the parser can throw a RangeError during entity processing. If the consuming application does not catch that exception, the process or request handler can crash, producing a denial of service. The issue affects availability only; it does not directly provide code execution, data disclosure, or data modification.
Why it matters to the business
Any service, API, queue consumer, integration worker, or backend job that accepts XML from external or semi-trusted sources and parses it with an affected fast-xml-parser version can be crashed by a small malformed XML payload. The main business risk is service interruption, failed transactions, delayed processing, degraded customer-facing integrations, and operational noise from repeated restarts. The vulnerability has a high availability CVSS impact, but current exploitation signals are lower urgency because it is not listed in CISA KEV, is not known to be used in ransomware campaigns, has low EPSS, and has no reported public exploit maturity in the provided data.
How an attack unfolds
An attacker first identifies an endpoint, upload workflow, webhook, message queue, or integration that accepts XML input and is backed by an application using fast-xml-parser 5.0.9 through 5.3.3. The attacker sends otherwise minimal XML containing an out-of-range numeric entity, for example a decimal or hexadecimal entity that exceeds valid Unicode code point limits. During parsing, fast-xml-parser attempts to process the entity and raises a RangeError. If the application lacks defensive exception handling around parsing, the error becomes uncaught and can terminate the process, crash a worker, fail a request pipeline, or trigger container/process restarts. Repeating the payload can sustain a denial-of-service condition without authentication if the XML-processing path is exposed anonymously.
How to fix it
Upgrade fast-xml-parser to version 5.3.4 or later wherever versions 5.0.9 through 5.3.3 are present. Rebuild and redeploy applications so the fixed dependency is actually loaded at runtime, including container images, serverless packages, bundled JavaScript artifacts, and lockfile-pinned deployments. Add application-level safeguards around XML parsing: reject or sanitize malformed numeric entities before parsing, enforce request size and rate limits, wrap parser calls in try/catch blocks, return controlled 4xx errors for invalid XML, and ensure worker supervisors restart safely without restart storms. If dependency data is being tracked through distribution package advisories, also verify any relevant fixed package records are installed, including linux-oracle for Ubuntu 24.04 LTS fixed in 6.8.0-1039.40, linux-nvidia-6.8 for Ubuntu 22.04 LTS fixed in 6.8.0-1042.45~22.04.1, and linux-oracle-6.8 for Ubuntu 22.04 LTS fixed in 6.8.0-1039.40~22.04.1; however, the described application flaw is remediated by updating fast-xml-parser itself.
How to confirm the fix worked
Confirm dependency inventory, package lockfiles, SBOMs, and runtime package metadata show fast-xml-parser version 5.3.4 or later and no nested dependency remains in the affected 5.0.9 through 5.3.3 range. In Node.js applications, validate with package manager tooling such as npm ls fast-xml-parser, yarn why fast-xml-parser, pnpm why fast-xml-parser, or equivalent SBOM scanning. Test the XML parsing path in a non-production environment with malformed numeric entities such as � and �; the application should reject the input gracefully and must not crash, restart, or emit an uncaught RangeError. Review deployment artifacts and running containers to ensure the rebuilt application contains the fixed dependency, not only an updated source repository.
Typical attack path
- Discover an application endpoint, webhook, file import, API route, or message-processing path that accepts XML.
- Send a crafted XML payload containing an out-of-range numeric entity such as � or �.
- Trigger fast-xml-parser numeric entity processing in an affected version, 5.0.9 through 5.3.3.
- Cause a RangeError during parsing.
- Rely on missing exception handling to crash the application process, worker, or request handler.
- Repeat requests or messages to maintain service disruption.
How to detect it
This vulnerability does not create a distinctive post-exploitation footprint because successful exploitation primarily causes denial of service rather than persistence or unauthorized access. To determine whether it was already attempted or exploited, review HTTP access logs, API gateway logs, WAF logs, load balancer logs, application logs, APM traces, message broker payload logs where available, process manager logs, container orchestration events, and crash dumps for malformed XML numeric entities followed by RangeError exceptions, 5xx responses, worker exits, or container restarts. Focus searches on XML-consuming routes and on timestamps where services experienced unexplained crashes or restart loops. Look for request bodies, uploaded files, webhook payloads, or queued messages containing unusually large decimal or hexadecimal XML character references. Correlate strings such as � or � with Node.js uncaught exception logs, RangeError messages, elevated error rates, and supervisor restarts. Since exploit maturity is listed as none and EPSS is low, absence of these artifacts should reduce concern, but exposed XML endpoints should still be checked because exploitation requires only a small crafted payload.
- �
- �
- RangeError: Invalid code point
- RangeError
- Invalid code point 9999999
- Invalid code point 16777215
- uncaughtException
- UnhandledPromiseRejection
- fast-xml-parser
- XMLValidator
- XMLParser
- crash loop
- CrashLoopBackOff
What your security team should do
- Prioritize internet-facing or unauthenticated XML ingestion paths, including APIs, webhooks, SSO/SAML-like XML handlers, file uploads, B2B integrations, and message consumers.
- Inventory all applications and transitive dependencies using fast-xml-parser and upgrade affected versions 5.0.9 through 5.3.3 to 5.3.4 or later.
- Add regression tests using out-of-range numeric XML entities to ensure malformed XML is handled as a controlled validation failure rather than a process crash.
- Deploy WAF, API gateway, or application-layer filtering for suspicious out-of-range numeric XML entities where XML endpoints cannot be patched immediately.
- Review application logs, process supervisor logs, container restart events, and APM traces for RangeError crashes correlated with XML requests or messages.
- Tune monitoring for repeated 5xx responses, worker exits, crash loops, or restart spikes on XML-processing services.
- Because the vulnerability is not KEV-listed and has low EPSS in the provided data, treat remediation as important for exposed XML services but prioritize it after actively exploited internet-facing vulnerabilities if patch capacity is constrained.
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 5.0.9 through 5.3.3, a RangeError vulnerability exists in the numeric entity processing of fast-xml-parser when parsing XML with out-of-range entity code points (e.g., `�` or `�`). This causes the parser to throw an uncaught exception, crashing any application that processes untrusted XML input. Version 5.3.4 fixes the issue.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | fast-xml-parser | 4.3.6 | 5.3.4 |
| npm | fast-xml-parser | 5.0.9 | 5.3.4 |
| Chainguard | dbgate | 0 | 7.0.0-r1 |
| Chainguard | dbgate-fips | 0 | 7.0.1-r0 |
| Chainguard | jitsucom-jitsu-console | 0 | 2.11.0-r14 |
| Chainguard | kibana-8.17 | 0 | 8.17.10-r8 |
| Chainguard | kibana-8.17-iamguarded | 0 | 8.17.10-r8 |
| Chainguard | kibana-8.18 | 0 | 8.18.8-r8 |
| Chainguard | kibana-8.18-iamguarded | 0 | 8.18.8-r8 |
| Chainguard | kibana-8.19 | 0 | 8.19.10-r3 |
| Chainguard | kibana-8.19-iamguarded | 0 | 8.19.10-r3 |
| Chainguard | kibana-9.0 | 0 | 9.0.8-r9 |
| Chainguard | kibana-9.0-bitnami | 0 | 9.0.8-r9 |
| Chainguard | kibana-9.0-iamguarded | 0 | 9.0.8-r9 |
| Chainguard | kibana-9.1 | 0 | 9.1.10-r3 |
| Chainguard | kibana-9.1-iamguarded | 0 | 9.1.10-r3 |
| Chainguard | kibana-9.2 | 0 | 9.2.5-r0 |
| Chainguard | kibana-9.2-iamguarded | 0 | 9.2.5-r0 |
| Chainguard | kibana-9.3 | 0 | 9.3.0-r1 |
| Chainguard | kubeflow-pipelines-frontend | 0 | 2.15.0-r10 |
| Chainguard | langfuse-2-worker | 0 | 2.95.12-r8 |
| Chainguard | langfuse-3 | 0 | 3.150.0-r0 |
| Chainguard | langfuse-3-worker | 0 | 3.153.0-r2 |
| Chainguard | langfuse-fips-2-worker | 0 | 2.95.12-r9 |
| Chainguard | langfuse-fips-3 | 0 | 3.152.0-r0 |
| Chainguard | langfuse-fips-3-worker | 0 | 3.153.0-r1 |
| Chainguard | librechat | 0 | 0.8.2-r3 |
| Chainguard | opensearch-dashboards-3 | 0 | 3.4.0-r3 |
| Chainguard | opensearch-dashboards-3-fips | 0 | 3.4.0-r4 |
| Chainguard | prism | 0 | 5.14.3-r5 |
| Chainguard | renovate | 0 | 43.3.1-r0 |
| Chainguard | tileserver-gl | 0 | 5.5.0-r4 |
| Chainguard | tileserver-gl-fips | 0 | 5.5.0-r5 |
| Wolfi | jitsucom-jitsu-console | 0 | 2.11.0-r14 |
| Wolfi | kubeflow-pipelines-frontend | 0 | 2.15.0-r10 |
| Wolfi | langfuse-3 | 0 | 3.150.0-r0 |
| Wolfi | langfuse-3-worker | 0 | 3.153.0-r2 |
| Wolfi | opensearch-dashboards-3 | 0 | 3.4.0-r3 |
| Wolfi | prism | 0 | 5.14.3-r5 |
| Wolfi | renovate | 0 | 43.3.1-r0 |
| Wolfi | tileserver-gl | 0 | 5.5.0-r4 |
| openSUSE:Tumbleweed | velociraptor | 0 | 0.7.0.4.git185.a5708584-2.1 |
Related vulnerabilities
- GHSA-37qj-frw5-hhjh fast-xml-parser has RangeError DoS Numeric Entities Bug Same vulnerability
- CVE-2026-41650 fast-xml-parser allows users to process XML from JS object without C/C++ based libraries… Also affects fast-xml-parser
- GHSA-gh4j-gqv2-49f6 fast-xml-parser XMLBuilder: XML Comment and CDATA Injection via Unescaped Delimiters Also affects fast-xml-parser
- CVE-2026-33349 fast-xml-parser allows users to process XML from JS object without C/C++ based libraries… Also affects fast-xml-parser
- CVE-2026-33036 fast-xml-parser allows users to process XML from JS object without C/C++ based libraries… Also affects fast-xml-parser
- GHSA-jp2q-39xq-3w4g Entity Expansion Limits Bypassed When Set to Zero Due to JavaScript Falsy Evaluation in… Also affects fast-xml-parser
- GHSA-8gc5-j5rx-235r fast-xml-parser affected by numeric entity expansion bypassing all entity expansion… Also affects fast-xml-parser
- GHSA-fj3w-jwp8-x2g3 fast-xml-parser has stack overflow in XMLBuilder with preserveOrder Also affects fast-xml-parser