What’s Vulnerable › Vulnerabilities
CVE-2026-69152: brace-expansion: DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2026-08-03 · updated 2026-10-23
- Weakness: CWE-400
Description
The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.18, 2.1.4, 3.0.6, and 5.0.9, expand() does not apply maxLength while constructing comma-alternative intermediate arrays or padded sequences, allowing attacker-controlled input to exhaust memory or block the event loop. The fix for CVE-2026-14257 is bypassed by the vulnerability. This issue is fixed in versions 1.1.18, 2.1.4, 3.0.6, and 5.0.9.
Affected products
- juliangruber brace-expansion: before 1.1.18; from 2.0.0 before 2.1.4; from 3.0.0 before 3.0.6; from 4.0.0 before 5.0.9 — fixed in 1.1.18, 2.1.4, 3.0.6, 5.0.9
- Npm Brace-Expansion: before 1.1.18; from 2.0.0 before 2.1.4; from 3.0.0 before 3.0.6; from 4.0.0 before 5.0.9 — fixed in 1.1.18, 2.1.4, 3.0.6, 5.0.9
How to fix
Upgrade to a fixed version: juliangruber brace-expansion 1.1.18, 2.1.4, 3.0.6, 5.0.9; Npm Brace-Expansion 1.1.18, 2.1.4, 3.0.6, 5.0.9. Check the vendor advisory for mitigations.
References
- https://github.com/juliangruber/brace-expansion/commit/139d015104e71433ad52a41d19467c48ecbb2c7d
- https://github.com/juliangruber/brace-expansion/commit/1e30c930238d7162802d88a94189182def178dac
- https://github.com/juliangruber/brace-expansion/commit/688a99eeaab02627c2b89ba8ba4821fecfa659cf
- https://github.com/juliangruber/brace-expansion/commit/cb4b9e47cc2ec777c14b2b4492fb431a56f6a031
- https://github.com/juliangruber/brace-expansion/security/advisories/GHSA-rgw5-rvv9-x895
- https://github.com/juliangruber/brace-expansion/security/advisories/GHSA-rgw5-rvv9-x895
Get alerted when CVE-2026-69152 or the next vulnerability affects your stack