---
title: "minimatch と glob に Medium の DoS 2 件（CVE-2026-118764・118773）: 悪意あるパターンで CPU・メモリが増え、glob は中断後も走査が続く。minimatch 11.0.1、glob 14.0.2 で修正"
url: https://n-t-p.io/worldsecurity/articles/minimatch-glob-pattern-amplification-abort-leak-2026-118773
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年11月7日
updated: 2026年11月7日
severity: 中
cve: CVE-2026-118764, CVE-2026-118773
---

# minimatch と glob に Medium の DoS 2 件（CVE-2026-118764・118773）: 悪意あるパターンで CPU・メモリが増え、glob は中断後も走査が続く。minimatch 11.0.1、glob 14.0.2 で修正

> **TL;DR:** Node.js の minimatch（11.0.1 未満）と glob（9.0.0〜14.0.1）に Medium の DoS 2 件。minimatch はパターンの前処理で配列が増え続けて CPU・メモリを消費し、glob は AbortSignal で中断した後も走査が続く。minimatch 11.0.1、glob 14.0.2 で修正。KEV 掲載なし、EPSS は 0.3% 台。

**要点**
- minimatch はパターン前処理の増幅と 2 乗比較で CPU・メモリを使い切らせられる（CVE-2026-118764、v4 6.9）
- glob は signal／AbortSignal.timeout() で中断しても走査が続く（CVE-2026-118773、v4 6.3）。勧告の再現では中断後に 1,360 回の読み込み
- minimatch 11.0.1（最新 11.0.3）、glob 14.0.2（最新 14.0.3）に更新
- 旧系列の修正の有無と minimatch の影響開始版は勧告に記載なし。NVD は未確認
- KEV 掲載なし。EPSS は 0.29%・0.35%（10/30）

Node.js で広く使われるパターン照合ライブラリ minimatch と、ファイル検索ライブラリ glob に、サービス停止（可用性）につながる脆弱性が 2026 年 10 月 30 日（UTC）に公開されました。どちらも GitHub Advisory では Medium です（CVSS v3 は未設定、v4 は 6.9 と 6.3）。CISA の KEV には載っていません。EPSS は CVE-2026-118764 が 0.29%、CVE-2026-118773 が 0.35% です（10/30 時点）。

## 2 件の内容

| CVE | 対象 | 内容 | 修正版 |
|---|---|---|---|
| CVE-2026-118764 | minimatch 11.0.1 未満（勧告の範囲） | 外から渡されたパターンの前処理で配列が増え続け、続く 2 乗時間の比較で CPU とメモリを大量に使う | 11.0.1（10/27 公開） |
| CVE-2026-118773 | glob 9.0.0〜14.0.1 | `signal`／`AbortSignal.timeout()` で中断しても、裏でディレクトリの読み込みが続く | 14.0.2（10/27 公開） |

## CVE-2026-118764: minimatch のパターン増幅

- 勧告によると、`optimizationLevel` が 2 以上のとき、前処理（`firstPhasePreProcess()`）が `**/../` を含むパターンから複製を作って同じ配列に追加し続けます。追加された分も繰り返し処理され、次の段階で全組み合わせの比較（2 乗時間）が走ります。
- 攻撃者がパターンを指定できる使い方（検索条件や ignore ルールを利用者が入力できるサービスなど）で、CPU とメモリを使い切らせることができます。勧告は 10.2.6 で確認したと書いています。
- 勧告の影響範囲は「11.0.1 未満」とだけあり、どの版から影響するかは書かれていません。11.0.1 以降への更新が確実です。
- 同じパッケージには 2 月に公開された別の ReDoS 系（CVE-2026-26996・27903・27904、High）があります。この記事の対象ではありませんが、古い系列を使っている場合は併せて確認してください。

## CVE-2026-118773: glob の中断が効かない

- `glob()`／`globStream()` の内部で、中断された場合の分岐が `cb()` を呼ぶだけで `return` していません。そのため、リクエストがすでに拒否された後も、再帰的なディレクトリ読み込みが続きます。
- 勧告の再現（glob 13.0.6、Linux、Node.js 22）では、中断後にさらに 1,360 回のディレクトリ読み込みが起きました。`return cb()` に直した版では 0 回です。
- 影響は可用性のみで、機密性・完全性への影響は確認されていません。タイムアウトを走査の予算として使い、攻撃者がパターンやディレクトリ構成に影響できる場合に、タイムアウトした要求が重なって処理能力を食います。
- 勧告は v9.0.0 から v13.0.6 まで同じ書き方だったと述べています。v14 系の 14.0.0・14.0.1 も範囲に入ります。

## 対応

1. minimatch は 11.0.1 以降（npm の最新は 11.0.3）、glob は 14.0.2 以降（最新は 14.0.3）に更新します。
2. 依存先が古い系列に固定している場合（glob の `legacy-v10` 10.5.0 など）は、この修正が入っているか各リポジトリで確認が必要です。勧告に旧系列の修正版は載っていません。
3. すぐ更新できない場合は、外部から渡されるパターンの長さと種類を制限し、`**/../` を含むパターンを拒否します。glob の走査はタイムアウトに頼らず、対象ディレクトリと深さを絞ります。

## 未確認の点

- NVD の記載は確認できていません（公開直後）。
- minimatch の影響が始まる版、旧系列への修正の有無は勧告に書かれていません。
- 悪用の報告は見つかっていません（KEV 掲載なし、EPSS は低い水準）。


## 出典
- [GitHub Advisory GHSA-g3hv-75wg-m249](https://github.com/advisories/GHSA-g3hv-75wg-m249) — GitHub
- [GitHub Advisory GHSA-3g3m-2fjr-6pw4](https://github.com/advisories/GHSA-3g3m-2fjr-6pw4) — GitHub
- [minimatch v11.0.1 リリース](https://github.com/isaacs/minimatch/releases/tag/v11.0.1) — minimatch
- [glob v14.0.2 リリース](https://github.com/isaacs/node-glob/releases/tag/v14.0.2) — glob
- [NVD CVE-2026-118764](https://nvd.nist.gov/vuln/detail/CVE-2026-118764) — NIST NVD
- [NVD CVE-2026-118773](https://nvd.nist.gov/vuln/detail/CVE-2026-118773) — NIST NVD
- [FIRST EPSS API](https://api.first.org/data/v1/epss?cve=CVE-2026-118764,CVE-2026-118773) — FIRST
- [CISA Known Exploited Vulnerabilities Catalog（JSON）](https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/minimatch-glob-pattern-amplification-abort-leak-2026-118773