概要
Rust 製 Git 実装 gitoxide の gix-submodule クレート(バージョン 0.29.0 未満)に、コマンドインジェクション脆弱性が存在します。
.gitmodules の update フィールドの検証において、サブモジュールが .git/config で部分的にのみ設定(初期化)されている場合に CommandForbiddenInModulesConfiguration ガードが迂回されてしまいます。攻撃者が .gitmodules の update フィールドに任意のシェルコマンドを注入し、Submodule::update() を呼び出すと、そのコマンドが実行されます。これにより、細工されたリポジトリを処理する際にリモートコード実行が可能になります。
本脆弱性は Anthropic セキュリティチームによっても発見が報告されています(red.anthropic.com/2026/cvd/findings/ANT-2026-6SNS6KMP)。
CVSSベクトル
| 要素 | 値 |
|---|---|
| スコア | 7.8(HIGH) |
| CWE | CWE-77(コマンドインジェクション) |
| 攻撃元区分(AV) | ローカル(L) / ネットワーク経由リポジトリクローン |
| 攻撃条件の複雑さ(AC) | 低(L) |
影響を受けるソフトウェア
| パッケージ | バージョン |
|---|---|
| gix-submodule(crates.io) | < 0.29.0 |
| gix(crates.io) | < 0.84.0 |
| gitoxide | < 0.5.21 |
修正バージョンと回避策
修正バージョン:
- gix-submodule: 0.29.0 以降
- gix: 0.84.0 以降
- gitoxide: 0.5.21 以降
推奨対応手順:
Cargo.tomlで gix / gix-submodule のバージョンを確認するcargo updateで依存関係を更新する- 信頼できないリポジトリでサブモジュール処理を行う実装は特に優先的に対応する
関連リンク
データソース: NVD (NIST), GitHub Advisory Database
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
