CVE-2026-102277 brace-expansion: Quadratic-time expansion of the `{a},b}` rewrite causes CPU denial of service
Attackers can cause CPU denial of service in Node.js applications by supplying crafted brace expansion patterns that trigger quadratic time complexity.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-102277?
CVE-2026-102277 is a medium-severity denial of service vulnerability in juliangruber brace-expansion, published on 28 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.21, 2.1.7, 3.0.9, and 5.0.12, the expand function handles untrusted {a},b}-shaped patterns with many trailing closing braces by restarting its scan once for each trailing closing brace. The successive full-input rescans with linear working-string growth cause quadratic CPU time and memory pressure that can block the Node.js event loop. The process eventually recovers, making the impact a recoverable CPU denial of service. This issue is fixed in versions 1.1.21, 2.1.7, 3.0.9, and 5.0.12.
Which versions are affected by CVE-2026-102277?
8 open source packages ship an affected version, including brace-expansion.
| Package | Affected | Fixed in |
|---|---|---|
brace-expansion npm | All versions | 1.1.21 |
brace-expansion npm | All versions | 1.1.21 |
brace-expansion npm | From 2.0.0 | 2.1.7 |
brace-expansion npm | From 2.0.0 | 2.1.7 |
brace-expansion npm | From 3.0.0 | 3.0.9 |
brace-expansion npm | From 3.0.0 | 3.0.9 |
2 more packages
brace-expansion npm | From 4.0.0 | 5.0.12 |
brace-expansion npm | From 4.0.0 | 5.0.12 |
How do I fix CVE-2026-102277?
Upgrade brace-expansion to a fixed version for your release line: 1.1.21, 2.1.7, 3.0.9 or 5.0.12.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-102277 being exploited?
There is no known exploitation of CVE-2026-102277 in the wild and no public exploit code.
Sources
Also known as AZL-105072, AZL-105089, AZL-105251, CLEANSTART-2026-DK31702, CLEANSTART-2026-GM91352, CLEANSTART-2026-GY49869 and 56 more.