high7.7
CVE-2026-13149
brace-expansion: DoS via exponential-time expansion of consecutive non-expanding {} groups
Impact
brace-expansion through 5.0.6 is vulnerable to denial of service. The expand() function exhibits exponential-time complexity in the number of consecutive non-expanding '{}' brace groups. An attacker who passes a crafted string to expand(), directly or transitively, can cause significant CPU consumption and event-loop blocking. The max option does not mitigate this, as it bounds the output size rather than the recursion work.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | brace-expansion | >= 3.0.0, < 5.0.7 | 5.0.7 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-3jxr-9vmj-r5cp
- https://github.com/juliangruber/brace-expansion/security/advisories/GHSA-3jxr-9vmj-r5cp
- https://nvd.nist.gov/vuln/detail/CVE-2026-13149
- https://github.com/juliangruber/brace-expansion/pull/122
- https://github.com/juliangruber/brace-expansion/pull/123
- https://github.com/juliangruber/brace-expansion/commit/835d6be91201122d9adffb0c0c8c094189ace265
- https://github.com/juliangruber/brace-expansion/commit/c7e33ec13ac1a684c116720843ce24e208611754
- https://github.com/juliangruber/brace-expansion/commit/d74e63030c012e3b7ae81657b8d665619cd51b95
- https://github.com/juliangruber/brace-expansion/releases/tag/v1.1.16
- https://github.com/juliangruber/brace-expansion/releases/tag/v2.1.2
- https://github.com/juliangruber/brace-expansion/releases/tag/v5.0.7
- https://www.npmjs.com/package/brace-expansion