Skip to main content

brace-expansion CVE-2026-13149

| EUVDEUVD-2026-40269 HIGH
Uncontrolled Resource Consumption (CWE-400)
2026-06-30 seal GHSA-3jxr-9vmj-r5cp
7.7
CVSS 4.0 · Vendor: seal
Share

Severity by source

Vendor (seal) PRIMARY
7.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:N/AU:Y/R:U/V:D/RE:M/U:Amber
vuln.today AI
7.5 HIGH

Network DoS with no privileges, low complexity, and no impact on confidentiality or integrity.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Red Hat
7.5 HIGH
qualitative

Primary rating from Vendor (seal).

CVSS VectorVendor: seal

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
N

Lifecycle Timeline

3
Source Code Evidence Fetched
Jul 27, 2026 - 10:09 vuln.today
Analysis Generated
Jun 30, 2026 - 10:22 vuln.today
CVE Published
Jun 30, 2026 - 08:30 cve.org
HIGH 7.7

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 6 npm packages depend on brace-expansion (3 direct, 3 indirect)

Ecosystem-wide dependent count for version 3.0.0.

DescriptionCVE.org

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.

AnalysisAI

Denial of service in the npm brace-expansion library through version 5.0.6 allows unauthenticated remote attackers to cause exponential CPU consumption by passing a crafted string with consecutive non-expanding brace groups. A public exploit code exists, and patches are available from the vendor, though no active exploitation has been confirmed.

Technical ContextAI

brace-expansion is a JavaScript library used to expand brace patterns, commonly embedded as a transitive dependency in Node.js applications via glob or minimatch. The vulnerability (CWE-400) stems from an algorithmic flaw in the expand_() function: it recursively expands the post portion of a brace group before checking if the group actually expands, leading to O(2ⁿ) time complexity. For input strings containing many consecutive empty brace groups (e.g., 'a{},{},...{}'), each non-expanding group triggers a recursive call that discards the result, doubling the work. The fix restructures the code to compute post only when needed and converts a recursive rewrite into a loop. Affected products per CPE cpe:2.3:a:juliangruber:brace-expansion:*:*:*:*:*:*:*:* include all versions prior to 1.1.16, 2.1.2, and 5.0.7.

RemediationAI

Upgrade brace-expansion to a patched version based on the major release line: 1.1.16 for 1.x, 2.1.2 for 2.x, or 5.0.7 for 3.x/5.x. Official patches are available from the vendor GitHub repository and npm registries. If immediate upgrading is not feasible, limit input size or sanitize user-controlled strings passed to expand(), as the max option does not prevent exponential CPU usage. Disabling brace expansion entirely in user-facing features removes the attack surface but may break expected functionality.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 12 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected

Share

CVE-2026-13149 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy