Description
The brace-expansion library generates arbitrary strings containing a common prefix and suffix. From 5.0.0 to before 5.0.6, 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. This vulnerability is fixed in 5.0.6.
Published: 2026-05-29
Score: 6.5 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The brace-expansion library generates enumerations of numeric or string ranges. In versions 5.0.0 through 5.0.5 the max option is applied only after the full sequence is built. When an input such as {1..10000000} is processed, the library allocates an array holding ten million intermediate elements before truncating it to the defined limit. This results in the allocation of roughly 505 MB of memory and a pause of about 800 ms, effectively denying service to the running process. The CVSS score of 6.5 reflects a moderate risk stemming from this resource exhaustion.

Affected Systems

Affected products are the brace-expansion library from Juliangruber. All releases from 5.0.0 up to 5.0.5 are impacted. Upgrading to version 5.0.6 or later resolves the vulnerability.

Risk and Exploitability

The flaw remains active in environments that retain older library versions, particularly when the library processes untrusted input that may contain large numeric ranges. An attacker who can inject such a range can force the application to consume large amounts of memory and CPU time, potentially leading to application slowdown or crash. While the EPSS score is not available and the vulnerability is not listed in CISA’s KEV catalog, the moderate CVSS score and the library’s widespread use guide administrators to treat the risk as non‑negligible in scenarios where external data is expanded. The most likely attack vector involves any code path that passes user‑supplied strings to brace-expansion, whether in a web server, script runner, or build tool.

Generated by OpenCVE AI on May 29, 2026 at 21:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade brace-expansion to version 5.0.6 or later.
  • If upgrading is not immediately possible, validate or sanitize numeric ranges before passing them to brace-expansion, ensuring that the range length does not exceed a safe threshold defined by the application.
  • Wrap brace-expansion calls with a size limiter or replace the library with an alternative that applies maximum limits during sequence generation rather than after the full array has been constructed.

Generated by OpenCVE AI on May 29, 2026 at 21:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-jxxr-4gwj-5jf2 brace-expansion: Large numeric range defeats documented `max` DoS protection
History

Fri, 29 May 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Juliangruber
Juliangruber brace-expansion
Vendors & Products Juliangruber
Juliangruber brace-expansion

Fri, 29 May 2026 20:15:00 +0000

Type Values Removed Values Added
Description The brace-expansion library generates arbitrary strings containing a common prefix and suffix. From 5.0.0 to before 5.0.6, 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. This vulnerability is fixed in 5.0.6.
Title brace-expansion: Large numeric range defeats documented `max` DoS protection
Weaknesses CWE-400
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'}


Subscriptions

Juliangruber Brace-expansion
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-05-29T19:55:07.337Z

Reserved: 2026-05-08T20:44:38.964Z

Link: CVE-2026-45149

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-05-29T20:16:25.550

Modified: 2026-05-29T20:16:25.550

Link: CVE-2026-45149

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-29T21:30:06Z

Weaknesses