何が起きたか
miseは解析中に.tool-versionsコンフィギュレーションファイルをTeraテンプレートエンジンを通して処理し、そのコンテキストにexec()関数を登録します。.mise.tomlファイルとは異なり、.tool-versionsファイルは非パラノイアモードでは信頼検証の対象ではありません。攻撃者はリポジトリにコミットされた.tool-versionsファイルに任意のTeraexec()呼び出しを埋め込むことができます。miseがアクティブ化された状態でディレクトリにcdする開発者は、プロンプトまたは警告なしで攻撃者のコマンドを自動的に実行します。
なぜ重要か
miseはAI/ML開発者ワークフローでPython、Node、その他のツールチェーンバージョンを管理するために大量に使用されています。これはサプライチェーン/ドライブバイ攻撃です:悪意あるオープンソースリポ、ソーシャルエンジニアリングおびき出し、または侵害されたアップストリームリポジトリは、miseがアクティブ化された開発者マシンでディレクトリ変更以外のユーザー操作なしで攻撃者コードを実行できます — クラウド認証情報、APIキー、モデルの重みを即座に流出させたり、永続的なアクセスを確立したりできます。
攻撃経路
攻撃者は悪意あるの.tool-versionsファイルをgitリポジトリに配置します。ファイルには登録されたexec()関数を呼び出すTeraテンプレートディレクティブが含まれています。miseシェルアクティベーションを持つ被害者が「cd」でディレクトリに入ると、miseは(.mise.tomlファイルとは異なり)任何信頼チェックなしでTeraエンジンを通して.tool-versionsを解析し、埋め込まれたexec()呼び出しは即座に任意のOSコマンドを実行します。
影響を受けるシステム
mise < 2026.3.10
緩和策
mise 2026.3.10以降にアップグレードしてください。アドバイザリ:https://github.com/jdx/mise/security/advisories/GHSA-fjj5-v948-whjj