CVE-2026-102277 brace-expansion: Quadratic-time expansion of the `{a},b}` rewrite causes CPU denial of service

Medium 5.3 Published Updated

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.

Weakness: CWE-407, CWE-400

Which versions are affected by CVE-2026-102277?

8 open source packages ship an affected version, including brace-expansion.

PackageAffectedFixed in
brace-expansion npmAll versions1.1.21
brace-expansion npmAll versions1.1.21
brace-expansion npmFrom 2.0.02.1.7
brace-expansion npmFrom 2.0.02.1.7
brace-expansion npmFrom 3.0.03.0.9
brace-expansion npmFrom 3.0.03.0.9
2 more packages
brace-expansion npmFrom 4.0.05.0.12
brace-expansion npmFrom 4.0.05.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.

Is CVE-2026-102277 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free