Brace Expansion
Approved changes feed: RSS · Atom
cpe:2.3:a:juliangruber:brace-expansion:*:*:*:*:*:*:*:*
part: a version: * update: *
| Vendor | Juliangruber (7eda1269-adbc-5217-b73b-65c01e2d579b) |
|---|---|
| Product | Brace Expansion (1537d245-90d8-542d-aaac-abcb22ceccd1) |
| Edition | * |
| Language | * |
| Software edition | * |
| Target software | * |
| Target hardware | * |
| Other | * |
| Notes | Imported from gcve-enriched-dumps CVE data |
PURL mappings
| PURL | Source | Last updated |
|---|---|---|
| No PURL mappings for this CPE yet. | ||
Vulnerability references
| Identifier | cpeApplicability | Submitted | db.gcve.eu details | Rationale |
|---|---|---|---|---|
CVE:CVE-2026-69152 |
vulnerable | 2026-09-16 04:34:21.995282 |
brace-expansion: DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation
HIGH (7.5)
The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.18, 2.1.4, 3.0.6, and 5.0.9, expand() does not apply maxLength while constructing comma-alternative intermediate arrays or padded sequences, allowing attacker-controlled input to exhaust memory or block the event loop. The fix for CVE-2026-14257 is bypassed by the vulnerability. This issue is fixed in versions 1.1.18, 2.1.4, 3.0.6, and 5.0.9.
Published: 2026-08-03T16:33:36.324Z
Updated: 2026-08-03T20:12:20.435Z Reference links
|
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-14257 |
vulnerable | 2026-07-29 00:26:16.903181 |
brace-expansion DoS via unbounded expansion length causing an out-of-memory process crash
HIGH (7.5)
brace-expansion through 5.0.7 is vulnerable to denial of service via memory exhaustion. The expand() function limits the number of results with a max option (default 100,000) but does not bound the length of each result string. By chaining multiple brace groups, an attacker keeps the result count under the limit while making each result progressively longer, so total memory scales with both count and string length until the process hits a fatal, uncatchable out-of-memory error. About 7.5 KB of input ('{a,b}'.repeat(1500)) crashes a default Node.js process. Any application that passes attacker-influenced strings to brace-expansion.expand() - directly or transitively via minimatch / glob brace patterns - can be crashed by a small request. Fixed in 5.0.8 by adding a maxLength option (default 4,000,000) that bounds accumulated output and intermediate arrays.
Published: 2026-07-23T12:54:23.124Z
Updated: 2026-07-23T14:44:41.856Z |
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-13149 |
vulnerable | 2026-07-29 00:23:32.853099 |
Details available
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.
Published: 2026-06-30T08:30:34.502Z
Updated: 2026-07-08T11:38:35.974Z |
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-45149 |
vulnerable | 2026-06-08 08:05:11.476030 |
brace-expansion: Large numeric range defeats documented `max` DoS protection
MEDIUM (6.5)
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-29T19:55:07.337Z
Updated: 2026-06-01T16:44:23.371Z |
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-33750 |
vulnerable | 2026-06-08 07:59:10.696995 |
brace-expansion: Zero-step sequence causes process hang and memory exhaustion
MEDIUM (6.5)
The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to versions 5.0.5, 3.0.2, 2.0.3, and 1.1.13, a brace pattern with a zero step value (e.g., `{1..2..0}`) causes the sequence generation loop to run indefinitely, making the process hang for seconds and allocate heaps of memory. Versions 5.0.5, 3.0.2, 2.0.3, and 1.1.13 fix the issue. As a workaround, sanitize strings passed to `expand()` to ensure a step value of `0` is not used.
Published: 2026-03-27T14:04:52.297Z
Updated: 2026-03-27T14:48:06.779Z Reference links
|
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2025-5889 |
vulnerable | 2026-06-08 07:37:25.982505 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
Contribute
You can submit an edit proposal for this CPE entry or suggest a related product/vendor addition using the action button above.