CVE-2026-25128

7.5 HIGH

📋 TL;DR

A vulnerability in fast-xml-parser versions 4.3.6 through 5.3.3 allows attackers to cause denial of service by sending XML with out-of-range numeric entity code points (like �). This causes an uncaught RangeError exception that crashes any application using the library to parse untrusted XML input. All applications using vulnerable versions of fast-xml-parser are affected.

💻 Affected Systems

Products:
  • fast-xml-parser
Versions: 4.3.6 through 5.3.3
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Any application using fast-xml-parser to parse XML from untrusted sources is vulnerable. The vulnerability is in the core parsing functionality.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete application crash leading to denial of service, potentially disrupting critical business functions if the application handles mission-critical XML processing.

🟠

Likely Case

Application crashes when processing malicious XML input, causing service disruption until the application restarts.

🟢

If Mitigated

Minimal impact if XML input is validated/sanitized before reaching the parser or if proper error handling catches the exception.

🌐 Internet-Facing: HIGH - Any internet-facing service that accepts XML input could be crashed by sending specially crafted XML.
🏢 Internal Only: MEDIUM - Internal applications could be crashed by malicious insiders or compromised internal systems sending malicious XML.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation is trivial - simply send XML containing out-of-range numeric entities like � or �. The advisory includes proof-of-concept examples.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.3.4

Vendor Advisory: https://github.com/NaturalIntelligence/fast-xml-parser/security/advisories/GHSA-37qj-frw5-hhjh

Restart Required: Yes

Instructions:

1. Update fast-xml-parser to version 5.3.4 or later using npm: npm update fast-xml-parser
2. Restart any applications using the library
3. Test XML parsing functionality to ensure compatibility

🔧 Temporary Workarounds

Input Validation/Sanitization

all

Validate and sanitize XML input before passing to fast-xml-parser to remove or escape numeric entities with out-of-range values.

Error Handling Wrapper

all

Wrap fast-xml-parser calls in try-catch blocks to handle RangeError exceptions gracefully without crashing the application.

🧯 If You Can't Patch

  • Implement strict input validation to reject XML containing numeric entities with values outside valid Unicode ranges
  • Deploy application-level monitoring and automatic restart mechanisms to minimize downtime from crashes

🔍 How to Verify

Check if Vulnerable:

Check package.json or run: npm list fast-xml-parser | grep fast-xml-parser

Check Version:

npm list fast-xml-parser | grep fast-xml-parser

Verify Fix Applied:

After updating, verify version is 5.3.4 or later with: npm list fast-xml-parser

📡 Detection & Monitoring

Log Indicators:

  • RangeError exceptions in application logs
  • Application crash/restart events
  • Uncaught exception stack traces mentioning fast-xml-parser

Network Indicators:

  • Incoming XML payloads containing numeric entities with extremely high values (e.g., �)

SIEM Query:

source="application_logs" AND ("RangeError" OR "fast-xml-parser" OR "uncaught exception")

🔗 References

📤 Share & Export