30秒で判断
対応すべき人:
- mise 2026.3.10 未満を使用している開発者
- 特に、外部の git リポジトリを
cdで移動する操作を行っている場合(CI/CD環境も含む)
対応不要な人:
- mise 2026.3.10 以降を使用中
- mise を使用していない(asdf, direnv 等のみ使用)
- paranoid モードが有効になっている(
mise settings paranoid=true)
確認コマンド:
# バージョン確認
mise version
# paranoid設定の確認
mise settings | grep paranoid
概要
mise(旧称 rtx)は Node.js・Python・Terraform など多数の開発ツールのバージョンを管理するツールです。バージョン 2026.3.10 未満において、.tool-versions ファイルの処理にTera テンプレートエンジンが使用されており、exec() 関数が登録されています。
重大な問題点: .mise.toml とは異なり、.tool-versions ファイルは non-paranoid モードでのトラスト検証が行われません。これにより、悪意ある .tool-versions ファイルを含む git リポジトリに対して cd でディレクトリ移動するだけで、mise がそのファイルを自動的に読み込み、テンプレート内の exec() 関数が実行されます。
攻撃シナリオ:
- 攻撃者が悪意ある
.tool-versionsファイルを含む git リポジトリを公開または共有する - 被害者が mise を有効化した状態でそのリポジトリを
git cloneしてcdする - テンプレート内の任意コマンドがユーザー権限で実行される(trust プロンプトなし)
CI/CD パイプラインで mise を使用しており、外部リポジトリをクローンして処理する場合も同様のリスクがあります。
CVSSベクトル
| 指標 | 値 |
|---|---|
| CVSSスコア | 9.6 |
| 深刻度 | Critical |
| CWE | CWE-94(コードインジェクション) |
| 攻撃元区分 | ネットワーク(リポジトリ経由) |
| 攻撃条件の複雑さ | 低 |
| 必要な特権レベル | 不要 |
| ユーザー操作 | 必要(cdコマンド) |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| mise | jdx | < 2026.3.10 |
修正バージョンと回避策
- 修正バージョン: 2026.3.10 以降にアップデートしてください
# mise自体のアップデート mise self-update # または brew upgrade mise # macOS (Homebrew) - 緊急回避策(アップデートが即時困難な場合):
- paranoid モードを有効にする:
mise settings paranoid=true - 信頼できないリポジトリへの
cdを避ける
- paranoid モードを有効にする:
関連リンク
データソース: NVD (NIST), GitHub Advisory Database
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
