CVE-2026-33750: juliangruber brace-expansion · Uncontrolled Resource Consumption
Affects juliangruber brace-expansionSource CVE Database V5
Not known to be exploited · CVSS 6.5 Medium · fixed in 5.0.5 : update juliangruber brace-expansion when convenient.
Data as of 30 Oct 2026, 11:52 UTC
- EPSS
- 0.4% chance of exploitation in 30 days – higher than 38% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 5.0.5, 3.0.2, 2.0.3 +1
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:HExploitation evidence
Disclosed: evidence found.
CVE published 27 Mar 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.
What to do
Upgrade brace-expansion to 5.0.5, 3.0.2, 2.0.3 or 1.1.13; brace-expansion to 1.1.13.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| juliangruberbrace-expansion | Affected
| Fixed in
|
| juliangruberbrace-expansion | Affected
| Fixed in
|
| juliangruberbrace-expansion | Affected
| Fixed in
|
| juliangruberbrace-expansion | Affected
| Fixed in
|
npmbrace-expansionpkg:npm/brace-expansionOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
- Upgrade all instances of the juliangruber brace-expansion library to versions 5.0.5, 3.0.2, 2.0.3, or 1.1.13 or later, depending on the major version in use.
- Implement input validation and sanitization to detect and reject brace patterns with zero step values before passing them to the expand() function.
- Employ runtime monitoring and resource usage limits (e.g., CPU and memory quotas) on processes that use this library to detect and mitigate potential hangs or resource exhaustion.
- Review and audit all code paths that utilize brace-expansion to ensure no untrusted input can reach the vulnerable function without validation.
- Incorporate fuzz testing or static analysis tools to detect similar uncontrolled resource consumption patterns in dependencies.
- Educate developers about the risks of uncontrolled resource consumption vulnerabilities and encourage secure coding practices when handling user input.
Description
The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to versions 5.0.5, 3.0.2, 2.0.3, and 1.1.13, a brace pattern with a zero step value (e.g., `{1..2..0}`) causes the sequence generation loop to run indefinitely, making the process hang for seconds and allocate heaps of memory. Versions 5.0.5, 3.0.2, 2.0.3, and 1.1.13 fix the issue. As a workaround, sanitize strings passed to `expand()` to ensure a step value of `0` is not used.
References
- github.com/juliangruber/brace-expansion/security/advisories/GHSA-f886-m6hf-6m8v (opens in a new tab)
- github.com/juliangruber/brace-expansion/issues/98 (opens in a new tab)
- github.com/juliangruber/brace-expansion/pull/95 (opens in a new tab)
- github.com/juliangruber/brace-expansion/pull/96 (opens in a new tab)
- github.com/juliangruber/brace-expansion/pull/97 (opens in a new tab)
- github.com/juliangruber/brace-expansion/commit/311ac0d54994158c0a384e286a7d6cbb17ee8ed5 (opens in a new tab)
- github.com/juliangruber/brace-expansion/commit/7fd684f89fdde3549563d0a6522226a9189472a2 (opens in a new tab)
- github.com/juliangruber/brace-expansion/commit/b9cacd9e55e7a1fa588fe4b7bb1159d52f1d902a (opens in a new tab)
- github.com/juliangruber/brace-expansion/blob/daa71bcb4a30a2df9bcb7f7b8daaf2ab30e5794a/src/index.ts (opens in a new tab)
- github.com/juliangruber/brace-expansion/blob/daa71bcb4a30a2df9bcb7f7b8daaf2ab30e5794a/src/index.ts (opens in a new tab)