概要
npmパッケージ minimatch の 10.2.0 以前において、globパターンに連続する * ワイルドカードとテスト文字列に含まれないリテラル文字が続く場合、Regular Expression Denial of Service(ReDoS)が発生します。
各 * は [^/]*? の正規表現グループにコンパイルされ、マッチに失敗すると V8 の正規表現エンジンがすべての可能な分割をまたいで指数的にバックトラックします。計算量は O(4^N) で、N=25 でも数秒のブロックが発生します。
minimatch は多くのnpmパッケージから間接的に依存されているため、影響範囲が広い可能性があります。
CVSSベクトル
| 項目 | 値 |
|---|---|
| CVSSスコア | 7.5 (High) |
| 攻撃元区分 | ネットワーク |
| 攻撃条件の複雑さ | 低 |
| 必要な特権 | なし |
| ユーザー関与 | なし |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| minimatch | isaacs | 10.2.0 以前 |
修正バージョンと回避策
- 修正版: minimatch 10.2.1 以降へのアップデート
- ユーザー入力からglobパターンを構成している場合は、入力バリデーションの追加も検討
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
