概要
Scala ビルド ツール sbt が Windows 上 で Process("cmd", "/c", ...) で VCS コマンド を 実行 する 際、URI フラグメント(ブランチ、タグ、リビジョン)が ユーザー 制御 の ビルド 定義 から 渡され、バリデーション なし で シェル に 渡されます。cmd /c が &, |, ; を コマンド セパレータ として 解釈 する ため、悪意 ある フラグメント で 任意 コマンド 実行 が 可能 です。バージョン 1.12.7 で 修正 されました。
CVSS ベクトル
| 項目 | 値 |
|---|---|
| CVSS スコア | 7.8(High) |
| 攻撃 元 区分 | ローカル |
| 攻撃 条件 の 複雑 さ | 低 |
| 必要 な 特権 レベル | 不要 |
| ユーザー 関与 | 必要 |
| CWE | CWE-78(OS Command Injection) |
影響 を 受ける ソフトウェア
| 製品 | 影響 バージョン | 修正 バージョン |
|---|---|---|
| sbt | 0.9.5 〜 1.12.6 | 1.12.7 |
修正 バージョン と 回避策
- 修正 バージョン: sbt 1.12.7
- URI フラグメント の サニタイズ 処理 が 追加 され、コマンド セパレータ 文字 が 無効化 されました
- Windows 環境 で sbt を 使用 して いる 場合 は 速やか に 1.12.7 以降 へ アップデート して ください
- アップデート が 困難 な 場合 は、信頼 できない ビルド 定義 の 使用 を 避ける こと を 推奨 します
関連 リンク
データソース: NVD (NIST) AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
