何が起きたか
LiteLLM の MCP サーバー作成機能は、JSON 設定からのユーザー指定の 'command' および 'args' フィールドをサニタイゼーションなしでサブプロセス呼び出しに直接渡します。根本原因は Anthropic の MCP SDK StdioServerParameters クラスにあり、LiteLLM(およびその他 10 以上の AI プラットフォーム)が継承しました。
なぜ重要か
LiteLLM は本番 AI スタックで最も広くデプロイされている LLM ゲートウェイ/プロキシレイヤーの一つです。このフローは MCP サーバー設定に影響を与えられるあらゆる関係者(プロンプトインジェクション経由を含む一部のデプロイメント)がゲートウェイホストの完全なリモートコード実行を取得できるようにし、すべてのプロキシ化されたモデル API キーおよび接続されたあらゆる内部サービスを公開しています。
攻撃経路
LiteLLM は JSON 設定を通じて MCP サーバーを追加することを許可し、任意の command および args 値を指定します。これらはホスト上で検証なしで実行されるため、ユーザー(またはプロンプトインジェクションによって表示された設定)はシェルバイナリを command 値として指定して LiteLLM ホスト上でコマンド実行を取得できます。
影響を受けるシステム
LiteLLM 1.18.10(MCP SDK stdio トランスポートの根本原因、v1.83.6-nightly 以降で修正)
緩和策
LiteLLM v1.83.7 以降にアップグレードしてください(修正は commit 7b7f304 / PR #25343 に組み込まれています)。docs.litellm.ai/blog/mcp-stdio-command-injection-april-2026 のベンダーアドバイザリを参照してください。