GHSA-g3hv-75wg-m249
Dashboard / Vulnerabilities / GHSA-g3hv-75wg-m249
Summary: minimatch has potential denial of service via globparts amplification
Details: 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.
References: https://github.com/isaacs/minimatch/security/advisories/GHSA-g3hv-75wg-m249, https://nvd.nist.gov/vuln/detail/CVE-2026-118764, https://github.com/isaacs/minimatch/commit/297b6c1a01f2410b3ba1ebed14ba222d0c3c1033, https://github.com/isaacs/minimatch/commit/77a0f5c4b80bdc641c3c930a1d9edf5ad2db57f8, https://github.com/isaacs/minimatch/commit/fd0b3ab9cbc5bf1aff1c99f1f46e413c2b3340da, https://github.com/isaacs/minimatch, https://github.com/isaacs/minimatch/releases/tag/v11.0.1
Affected packages
Package
Name: minimatch
Purl: pkg:npm/minimatch
Affected ranges
Type: SEMVER
Events:
