【活用ガイド】

JVNDB-2026-005469

minimatch projectのminimatchにおけるアルゴリズムの複雑さに関する脆弱性

概要

minimatchは、glob式をJavaScriptの正規表現オブジェクトに変換するための最小限のマッチングユーティリティです。バージョン10.2.3、9.0.7、8.0.6、7.4.8、6.2.2、5.1.8、4.2.5、および3.1.3より前のバージョンでは、globパターンに複数の非隣接の「**」(GLOBSTAR)セグメントが含まれ、入力パスが一致しない場合、`matchOne()`が無制限の再帰的バックトラッキングを行います。この処理の時間計算量はO(C(n, k))(二項係数)であり、`n`はパスセグメントの数、`k`はglobstarの数を表します。k=11でn=30の場合、デフォルトの`minimatch()` APIの呼び出しは約5秒間停止します。k=13では15秒を超えます。この動作を制限するためのメモ化や呼び出し制限は存在しません。攻撃者が`minimatch()`に渡されるglobパターンに影響を与えられるアプリケーションはすべて、この問題に対して脆弱です。現実的な攻撃対象には、ユーザー提供のglob引数を受け付けるビルドツールやタスクランナー(ESLint、Webpack、Rollupの設定)、共有プロセスで動作する多テナントシステムにおいて一テナントがglobベースのルールを構成する場合、globとして無視ルールやフィルター設定を受け付ける管理者や開発者向けインターフェース、およびglobパターンを含むユーザー提出の設定ファイルを評価するCI/CDパイプラインが含まれます。攻撃者はこれらのいずれかの経路に細工されたパターンを配置することで、Node.jsのイベントループを呼び出しごとに数十秒間停止させることが可能です。パターンは56バイトで5秒間の停止を引き起こし、パターン入力が機能の一部である状況では認証を必要としません。バージョン10.2.3、9.0.7、8.0.6、7.4.8、6.2.2、5.1.8、4.2.5、および3.1.3でこの問題は修正されています。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.5 (重要) [その他]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
影響を受けるシステム


minimatch project
  • minimatch 3.1.3 未満
  • minimatch 10.0.0 以上 10.2.3 未満
  • minimatch 4.0.0 以上 4.2.5 未満
  • minimatch 5.0.0 以上 5.1.8 未満
  • minimatch 6.0.0 以上 6.2.2 未満
  • minimatch 7.0.0 以上 7.4.8 未満
  • minimatch 8.0.0 以上 8.0.6 未満
  • minimatch 9.0.0 以上 9.0.7 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
また、当該ソフトウェアが扱う情報について、書き換えは発生しません。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. アルゴリズムの複雑性(CWE-407) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-27903
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-27903
更新履歴

  • [2026年03月02日]
      掲載