GitHub Advisoryadvisory · npm

GHSA-jxxr-4gwj-5jf2 brace-expansion: Large numeric range defeats documented `max` DoS protection

MEDIUM Published 2026-05-18 Modified 2026-06-09 Official page ↗
Aliases
CVE-2026-45149
Ecosystem
npm
Packages
brace-expansion
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Weaknesses
CWE-400
Reviewed
2026-05-18

Affected packages

• npm brace-expansion: >= 5.0.0, < 5.0.6 → fixed in 5.0.6

Description

The `max` option was being applied too late: When expanding a single large numeric range like `{1..10000000}`, the sequence generation loop generates all 10 million intermediate elements before the `max` limit is applied With `max=10`, the output is correctly limited to 10 items, but the process still allocates `~505 MB` and spends `~800ms` building the full intermediate array. Workaround Ensure the string to be expanded doesn't contain more values than the desired `max` item count.

Related

Alias · CVE (1)

  • CVE-2026-45149 The brace-expansion library generates arbitrary strings containing a common prefix and suffix. vulnerability

Weakness · CWE (1)

  • CWE-400 Uncontrolled Resource Consumption weakness

References