CVE-2026-93687: Stack Exhaustion Denial of Service in braces Package

braces Updated 03 Oct 2026

Summary

18/09/2026
No i
High
7.5

CVE-2026-93687: braces vulnerable to stack-exhaustion denial of service through deeply nested patterns. Affects braces versions < 3.0.3. No fix is published. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

The braces package is a widely used utility in the npm ecosystem that provides functionality for parsing and manipulating brace patterns in strings. It is commonly utilized in various JavaScript applications to handle complex string patterns efficiently. However, versions prior to 3.0.4 are vulnerable to a stack overflow issue due to the lack of depth guards in its recursive AST walkers, making it susceptible to denial of service attacks through deeply nested brace patterns.

Vulnerability Detail

The vulnerability in the braces package arises from its recursive AST walkers that do not implement depth guards, allowing attackers to exploit this weakness by supplying deeply nested brace patterns. This can lead to a stack overflow, causing the Node.js process to terminate unexpectedly with an uncaught RangeError. The implications of this vulnerability are significant, as it can lead to service disruptions and denial of service, impacting the availability of applications that rely on the braces package.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Workaround

As a temporary workaround, you can limit the depth of brace patterns processed by your application or implement input validation to reject overly complex patterns that may lead to stack exhaustion.

Conclusion

The braces package has a critical vulnerability that can lead to stack exhaustion and denial of service. It is essential to update to version 3.0.4 or later to mitigate this risk. Additionally, utilizing tools like Vulert can help monitor and manage vulnerabilities in your applications effectively.

See every vulnerability recorded for braces →

Share this vulnerability

FAQ

The CVSS score of this vulnerability is 7.5, indicating a high severity level.

Versions of the braces package from 0.0.0 up to 3.0.3 are affected by this vulnerability.

You can use Vulert to monitor and alert for open-source vulnerabilities in your software. By analyzing your package-lock.json file, Vulert can help you identify if your application is affected by this vulnerability.

If left unaddressed, this vulnerability can lead to denial of service, causing your application to crash and become unavailable to users.

Yes, you can use the Vulert playground at Vulert Scanner to check if your application is affected by this vulnerability without requiring any signup.

Related vulnerabilities

Recent vulnerabilities recorded for braces.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback