Security Resilience

CVE-2026-33750

DoS in Juliangruber Brace-Expansion ≤ 1.1.13

Published
27 March 2026
Modified
22 April 2026
Patch / advisory
CVSS Score v3.1 6.5
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
EPSS Score 0.0061 49th percentile
Risk Priority 51 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-33750 is a medium-severity Uncontrolled Resource Consumption (CWE-400) vulnerability in Juliangruber Brace-Expansion. Its CVSS base score is 6.5 (Medium).

Operationally, ranked at the 49th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SC-5 (Denial-of-service Protection) and SC-6 (Resource Availability) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-33750 is a denial-of-service vulnerability in the brace-expansion library, which generates arbitrary strings with a common prefix and suffix from brace patterns. In versions prior to 5.0.5, 3.0.2, 2.0.3, and 1.1.13, processing a brace pattern with a zero step value, such as `{1..2..0}`, triggers an infinite loop in the sequence generation code. This causes the affected process to hang for seconds and allocate excessive amounts of heap memory, classified under CWE-400 (Uncontrolled Resource Consumption) with a CVSS v3.1 base score of 6.5 (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H).

An attacker can exploit this vulnerability over the network with low complexity and no privileges required, but it necessitates user interaction, such as tricking a user into passing a malicious brace pattern to the library's `expand()` function. Successful exploitation results in high-impact availability disruption, where the targeted process becomes unresponsive and consumes significant memory resources, potentially leading to service outages or system resource exhaustion in applications that depend on brace-expansion for string processing.

Mitigation involves upgrading to the fixed versions 5.0.5, 3.0.2, 2.0.3, or 1.1.13, as detailed in the library's GitHub commit history. As a workaround, applications should sanitize inputs to the `expand()` function to prevent the use of a step value of zero. Relevant code changes and source references are available in the brace-expansion repository commits and source files.

EU & UK References

Vulnerability Data

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…

more

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.

CWE(s)

Related Threats

CVEs Like This One

CVE-2026-45149Same product: Juliangruber Brace-Expansion
CVE-2026-14257Same product: Juliangruber Brace-Expansion
CVE-2026-69152Same product: Juliangruber Brace-Expansion
CVE-2024-22233Shared CWE-400
CVE-2023-35767Shared CWE-400
CVE-2023-6277Shared CWE-400
CVE-2026-83281Shared CWE-400
CVE-2025-20616Shared CWE-400
CVE-2026-8968Shared CWE-400
CVE-2026-59173Shared CWE-400

Affected Assets

juliangruber
brace-expansion
≤ 1.1.13 · 2.0.0 — 2.0.3 · 3.0.0 — 3.0.2

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

SC-5 directly limits the effects of resource-exhaustion events that constitute uncontrolled consumption.

SC-6 enforces explicit allocation limits on resources, structurally preventing the weakness from occurring.

Process isolation confines resource consumption to separate domains, reducing blast radius without stopping the root flaw.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Resource-utilization monitoring and alerting on bottlenecks or overloads limits the impact of denial-of-service or resource-exhaustion attacks.

blocks

A.8.6's monitoring, stress-testing, projections, tuning, demand-reduction steps (e.g. optimizing queries, deleting obsolete data, restricting non-critical bandwidth) and capacity planning directly stop most uncontrolled consumption from being exploitable by keeping resources within safe bounds; the bounded remainder is algorithmic flaws (e.g. infinite loops, uncontrolled recursion) that no amount of capacity planning can prevent from exhausting a resource when triggered.

finds

Early notification of anomalous resource consumption or system malfunctions enables throttling or isolation before availability is lost.

blocks

Monitoring network service usage and applying controls to restrict access when necessary limits an attacker’s ability to consume excessive resources through unrestricted or unauthenticated service calls.

Hardening callouts derived

DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.

  • No fine-grained STIG row for CWE-400, a class-level weakness. Rules are authored against its narrower children: CWE-770.

References