Skip to main content

minimatch CVE-2026-118764

| EUVDEUVD-2026-113273 MEDIUM
Asymmetric Resource Consumption (Amplification) (CWE-405)
2026-10-29 security-advisories@github.com GHSA-g3hv-75wg-m249
6.9
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Submit short crafted **/../ glob via app input
  2. Exploit
    Fixpoint loop amplifies globParts in firstPhasePreProcess
  3. Execution
    Quadratic pairwise compare in secondPhasePreProcess
  4. Impact
    CPU and memory exhaustion stalls service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Asymmetric resource consumption control
Exploitation Conditions

Exploitation requires the consuming application to configure minimatch with optimizationLevel >= 2 (the default is 1, so default deployments are not affected) AND to pass attacker-controlled glob pattern strings into pattern compilation. The attacker needs no authentication or privileges and no user interaction once those conditions hold; the trigger is a short glob containing repeated '**/..' segments. Limiting factors that reduce real-world exposure: the optimizationLevel >= 2 setting is opt-in and non-default, the application must expose glob input to untrusted sources, and impact is confined to availability (CPU/memory exhaustion during compilation) with no data compromise.

Impact

The vendor CVSS 4.0 score is 8.7 (High) with vector AV:N/AC:L/AT:N/PR:N/UI:N and impact confined to availability (VA:H; VC:N/VI:N), which is internally consistent with CWE-405 (asymmetric resource consumption / denial of service) - this is purely a DoS, not information disclosure as the single input Tag claims. No EPSS score was provided in the input, and the CVE is NOT listed in CISA KEV, so there is no evidence of active exploitation. The input does not flag a confirmed working PoC, though the GHSA advisory (researcher Reid Downing / b1nv0id) contains a detailed trigger mechanism and the fix commit ships a test that reproduces the amplification (a 30-segment '**/../a/b' pattern expanding to 100,000 globParts), so the barrier to weaponization is low. The vuln.today decision label is 'this_week'. The decisive real-world gate is configuration: the flaw only manifests at optimizationLevel >= 2, which is NOT the minimatch default (default is 1), so despite the product's ubiquity most deployments are not exposed unless they explicitly opt into aggressive optimization AND pass attacker-controlled glob strings to the compiler. Net: a genuine, easy-to-trigger DoS for the subset of applications using optimizationLevel >= 2 on untrusted patterns, meriting prompt patching consistent with the 'this_week' label, but not an emergency given availability-only impact, no KEV, and the non-default precondition.

Exploit ScenarioDerived

An application that compiles user-supplied glob patterns with minimatch configured at optimizationLevel >= 2 (e.g., a search, file-filter, or upload-rule API) receives a short crafted pattern of repeated '**/../' segments. firstPhasePreProcess() repeatedly clones and re-expands these segments in its fixpoint loop, inflating globParts up to ~100,000 entries, after which secondPhasePreProcess() performs quadratic pairwise comparisons, consuming minutes of CPU and large memory and stalling the service. No standalone weaponized exploit is cited in the input, but the GHSA advisory describes the mechanism and the fix commit includes a reproducing test pattern.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 29, 2026

Glob pattern compilation in minimatch versions prior to 11.0.1 can be driven into unbounded pattern expansion when the library is configured with optimizationLevel 2 or higher, letting a short malicious glob containing repeated '**/..' segments consume excessive CPU and memory. Affected deployments are those that opt into the non-default optimizationLevel >= 2 setting and pass attacker-controlled glob strings into Minimatch compilation; the default optimizationLevel of 1 is not affected. Impact is confined to availability (denial of service during pattern compilation) with no confidentiality or integrity impact, and no public exploit has been identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade minimatch to 11.0.1 or later, which caps '/..' splitting at braceExpandMax (default 100,000 patterns) and disables the quadratic pairwise dedupe for sets larger than 1,000 patterns (commit 77a0f5c4b80bdc641c3c930a1d9edf5ad2db57f8, advisory GHSA-g3hv-75wg-m249, release https://github.com/isaacs/minimatch/releases/tag/v11.0.1). If an immediate upgrade is not possible, the most direct compensating control is to avoid setting optimizationLevel to 2 or higher - leaving it at the default of 1 removes the vulnerable expansion path entirely, at the cost of losing the extra pattern optimization; after upgrading, braceExpandMax can also be set to a small value to bound expansion. Where glob strings come from untrusted sources, reject or sanitize patterns containing repeated '/..' segments before compilation, and compile untrusted patterns in a worker or subprocess with CPU and memory ceilings so that a pathological pattern degrades only that worker rather than the main service. The vendor's complete fix is upgrading, so the sanitization and isolation measures should be treated as temporary.

Affected VersionsENISA

minimatch < 11.0.1

Affected Packages

npm minimatch fix: 11.0.1

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

minimatch converts glob expressions into JavaScript RegExp objects through a multi-stage preprocessing pipeline. In src/index.ts, firstPhasePreProcess() handles the '' followed by '..' case by cloning the current globParts entry, replacing the consumed segment with '', and pushing the clone back onto the same globParts array inside a do...while (didSomething) fixpoint loop - which means newly generated entries are themselves eligible for further expansion, doubling the pattern set on each pass. The expanded array is then handed to secondPhasePreProcess(), which compares entries pairwise in a nested i/j loop via partsMatch(), giving quadratic cost in the number of generated parts. The combination of exponential-ish expansion and quadratic comparison is a classic CWE-405 asymmetric resource consumption pattern: the attacker supplies a very short input and the library performs work disproportionate to it. The upstream fix in 11.0.1 introduces a braceExpandMax option (default 100,000) that halts '**/..' splitting once globParts reaches that size, and skips the pairwise dedupe entirely when the set exceeds 1,000 patterns (the dedupe is an optimization only; the patterns match the same paths either way). Note that one supplied tag classifies this as information disclosure, but the code path and the assessed impact vector (VC:N/VI:N, VA:H) are purely availability-related - the expansion produces no data leak.

Know when Node.js 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 (github) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Attacker-supplied glob needs no auth or interaction and is low-complexity where reachable, so AV:N/AC:L/PR:N/UI:N; impact is availability-only (A:H, C:N/I:N); optimizationLevel>=2 is a deployment precondition, not an attacker barrier.

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

Primary rating from Vendor (github).

CVSS VectorVendor: github

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
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

4
Severity Changed
Oct 30, 2026 - 23:22 NVD
HIGH MEDIUM
CVSS changed
Oct 30, 2026 - 23:22 NVD
8.7 (HIGH) 6.9 (MEDIUM)
Patch available
Oct 29, 2026 - 18:03 EUVD
CVE Published
Oct 29, 2026 - 17:18 cve.org
HIGH 8.7

DescriptionCVE.org

minimatch is a minimal matching utility for converting glob expressions into JavaScript RegExp objects. Prior to 11.0.1, src/index.ts implements firstPhasePreProcess() so that, at optimizationLevel 2 or higher, it repeatedly expands attacker-controlled **/.. pattern segments inside a fixpoint loop, allowing generated globParts entries to be processed and expanded again. secondPhasePreProcess() then compares the expanded entries pairwise, so a short malicious glob can cause excessive CPU and memory consumption during pattern compilation. This issue is fixed in version 11.0.1.

Technical POC Analysis

CWE-405 (Asymmetric Resource Consumption / amplification), in src/index.ts of minimatch.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

CVE-2026-118764 is a high-severity vulnerability in the minimatch library, which could allow a denial-of-service attack on systems using the non-default optimizationLevel 2 or higher. This affects any application that compiles attacker-supplied glob patterns with this setting, potentially causing service outages and business disruption. Leadership should prioritize remediation because availability impacts can directly affect customer-facing services and operational continuity.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include configuring minimatch with optimizationLevel 1 (the default) where possible, validating and sanitizing attacker-controlled glob patterns to block malicious sequences, and monitoring system resource usage to detect and respond to potential denial-of-service attempts.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Ubiquitous
ubiquitous npm glob library, transitive dependency across the Node.js ecosystem
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

54
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2025-68613 HIGH POC
8.8 Dec 19

Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

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