Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit short crafted **/../ glob via app input
-
ExploitFixpoint loop amplifies globParts in firstPhasePreProcess
-
ExecutionQuadratic pairwise compare in secondPhasePreProcess
-
ImpactCPU 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
4DescriptionCVE.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.
Articles & Coverage 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
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
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
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
EUVD-2026-113273
GHSA-g3hv-75wg-m249
NVD
CVE.org
EPSS
Exploit-DB