GitHub Advisoryadvisory · npm

GHSA-g3hv-75wg-m249 minimatch has potential denial of service via globparts amplification

MEDIUM Published 2026-10-30 Modified 2026-10-30 Official page ↗
Aliases
CVE-2026-118764
Ecosystem
npm
Packages
minimatch
Severity
Moderate
CVSS vector
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
Weaknesses
CWE-405
Reviewed
2026-10-30

Affected packages

• npm minimatch: < 11.0.1 → fixed in 11.0.1

Description

minimatch 10.2.6 contains an attacker-controlled pattern amplification in firstPhasePreProcess() when optimizationLevel >= 2. researcher: Reid Downing (b1nv0id) files: • src/index.ts: 690-770 • src/index.ts: 780-796 issue: input-controlled growth of globParts during first-phase preprocessing, followed by quadratic second-phase processing. the /../ transformation clones a globparts entry and appends the clone to the same globparts array: ``` parts.splice(gs, 1) const other = parts.slice(0) other[gs] = '' globParts.push(other) ``` this occurs inside a do...while (didSomething) fixpoint loop, allowing generated entries to be processed again. the expanded globparts array is subsequently processed by secondPhasePreProcess(), which performs pairwise comparisons: ``` for (let i = 0; i < globParts.length - 1; i++) { for (let j = i + 1; j < globParts.length; j++) { this.partsMatch(...) } } ``` an attacker who can supply a glob pattern can therefore cause additional pattern entries to be generated during preprocessing, followed by quadratic pairwise processing, resulting in excessive cpu and memory consumption.

Related

Alias · CVE (1)

  • CVE-2026-118764 minimatch is a minimal matching utility for converting glob expressions into JavaScript RegExp objects. vulnerability

Weakness · CWE (1)

  • CWE-405 Asymmetric Resource Consumption (Amplification) weakness

References