CVE-2026-25547

N/A Unknown

📋 TL;DR

The @isaacs/brace-expansion library is vulnerable to denial of service (DoS) through unbounded brace range expansion. Attackers can crash Node.js processes by providing patterns with repeated numeric brace ranges that cause exponential resource consumption. This affects any application using vulnerable versions of this library.

💻 Affected Systems

Products:
  • @isaacs/brace-expansion
Versions: All versions prior to 5.0.1
Operating Systems: All platforms running Node.js
Default Config Vulnerable: ⚠️ Yes
Notes: Any Node.js application that imports and uses the vulnerable brace-expansion function with user-controlled input is affected.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete Node.js process crash leading to service unavailability, potential cascading failures in dependent services, and resource exhaustion on the host system.

🟠

Likely Case

Temporary service disruption with high CPU/memory usage causing degraded performance or process termination.

🟢

If Mitigated

Minimal impact with proper input validation and rate limiting preventing malicious patterns from reaching the vulnerable function.

🌐 Internet-Facing: HIGH - Attackers can easily craft malicious patterns and send them to exposed endpoints using this library.
🏢 Internal Only: MEDIUM - Internal users or compromised systems could exploit this, but requires access to systems using the vulnerable library.

🎯 Exploit Status

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

Exploitation requires only crafting a malicious pattern string. No authentication or special privileges needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.0.1

Vendor Advisory: https://github.com/isaacs/brace-expansion/security/advisories/GHSA-7h2j-956f-4vf2

Restart Required: Yes

Instructions:

1. Update package.json to specify '@isaacs/brace-expansion': '^5.0.1'. 2. Run 'npm update @isaacs/brace-expansion' or 'yarn upgrade @isaacs/brace-expansion'. 3. Restart all Node.js processes using the library.

🔧 Temporary Workarounds

Input validation and sanitization

all

Validate and limit brace expansion patterns in user input before passing to the library

Rate limiting and request throttling

all

Implement rate limiting on endpoints that process user-provided patterns

🧯 If You Can't Patch

  • Implement strict input validation to reject patterns with repeated numeric brace ranges
  • Deploy resource limits (CPU, memory) and monitoring to detect and mitigate DoS attempts

🔍 How to Verify

Check if Vulnerable:

Check package.json or package-lock.json for '@isaacs/brace-expansion' version less than 5.0.1

Check Version:

npm list @isaacs/brace-expansion | grep @isaacs/brace-expansion

Verify Fix Applied:

Confirm installed version is 5.0.1 or higher using 'npm list @isaacs/brace-expansion'

📡 Detection & Monitoring

Log Indicators:

  • High CPU usage spikes
  • Memory exhaustion warnings
  • Node.js process crashes with out-of-memory errors
  • Unusual pattern processing requests

Network Indicators:

  • Repeated requests containing brace patterns
  • Requests with unusually long pattern strings

SIEM Query:

source="application.log" AND ("out of memory" OR "process crashed" OR "high cpu") AND "brace-expansion"

🔗 References

📤 Share & Export