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
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send HTTP request containing a crafted brace string
  2. Exploit
    Application passes string to expand() in Node.js
  3. Execution
    Recursive post expansion triggers exponential CPU consumption
  4. Impact
    Event loop blocked, service unresponsive

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

No special conditions are required; any application that calls brace-expansion.expand() with attacker-controlled input is vulnerable. The library's default behavior processes input strings without validation, and the max option does not mitigate the exponential complexity. The vulnerability is reachable over the network with no authentication needed, making it exploitable in any service that exposes expand() to remote input.

Impact

The CVSS 4.0 score of 7.7 indicates high availability impact with a network attack vector and no privileges required, but the EPSS probability is only 0.36% (28th percentile), suggesting low immediate exploitation likelihood. No CISA KEV listing confirms no in-the-wild activity. SSVC rates exploitation as 'none', automatable 'yes', and technical impact 'partial'. While a publicly available proof-of-concept demonstrates minutes-long denial of service, the risk is concentrated in environments where user-supplied strings reach expand() without filtering. Red Hat and SUSE advisories indicate the library is present in enterprise distributions, but overall real-world exploitation appears limited. A high CVSS score alone may overstate the threat if input is not externally controlled.

Exploit ScenarioDerived

An attacker sends a single HTTP request containing a short string like 'a{},{},...,{}' to an application endpoint that passes untrusted input to expand(). The Node.js event loop blocks for minutes, denying service to all other requests on the same worker/process. A publicly available POC reliably triggers this behavior.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 27, 2026

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.

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.

Affected VersionsENISA

brace-expansion 0 ≤5.0.6

Affected Packages

npm brace-expansion fix: 1.1.16, 2.1.2, 5.0.7

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

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.

Know when Brace Expansion gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

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/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

Primary rating from Vendor (seal).

CVSS VectorVendor: seal

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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.

Threat Intelligence Overview

EPSS Score
0.4%
Top 72% exploitable
Prevalence
High
transitive dependency of minimatch, used in many Node.js applications
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
High
Technical Impact
Partial

Priority Score

58
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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

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