CVE-2026-33750
MEDIUM6.5EPSS 0.02%brace-expansion: Zero-step sequence causes process hang and memory exhaustion
Published: 3/26/2026Modified: 4/28/2026
Description
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.
Affected packages (2)
- Debian/node-brace-expansionfrom 0
- npm/brace-expansion>= 4.0.0, < 5.0.5
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | MEDIUM6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H |
References (13)
- ADVISORYhttps://nvd.nist.gov/vuln/detail/CVE-2026-33750
- ADVISORYhttps://security-tracker.debian.org/tracker/CVE-2026-33750
- PATCHhttps://github.com/juliangruber/brace-expansion
- WEBhttps://github.com/juliangruber/brace-expansion/blob/daa71bcb4a30a2df9bcb7f7b8daaf2ab30e5794a/src/index.ts#L107-L113
- WEBhttps://github.com/juliangruber/brace-expansion/blob/daa71bcb4a30a2df9bcb7f7b8daaf2ab30e5794a/src/index.ts#L184
- WEBhttps://github.com/juliangruber/brace-expansion/commit/311ac0d54994158c0a384e286a7d6cbb17ee8ed5
- WEBhttps://github.com/juliangruber/brace-expansion/commit/7fd684f89fdde3549563d0a6522226a9189472a2
- WEBhttps://github.com/juliangruber/brace-expansion/commit/b9cacd9e55e7a1fa588fe4b7bb1159d52f1d902a
- WEBhttps://github.com/juliangruber/brace-expansion/issues/98
- WEBhttps://github.com/juliangruber/brace-expansion/pull/95
- WEBhttps://github.com/juliangruber/brace-expansion/pull/96
- WEBhttps://github.com/juliangruber/brace-expansion/pull/97
- WEBhttps://github.com/juliangruber/brace-expansion/security/advisories/GHSA-f886-m6hf-6m8v