何が起きたか
VS Code 1.145.3より前のバージョンでは、McpElicitationServiceは、MCPのelicitation/createリクエストに対してチャットセッションが利用できない場合、ワークベンチ通知にフォールバックします。サーバー制御のメッセージ文字列がリンク付きマークダウンとしてレンダリングされるため、悪意のあるMCPサーバーは、メッセージをcommand: URI(例:workbench.action.terminal.sendSequence)を指すリンクとして、またはレンダラーの事前解析済みリンクノード構造を模倣したオブジェクトとして細工できます;一回のクリックでユーザーの権限でワークベンチコマンドが実行されます。MicrosoftはCVE-2026-120779(CWE-94、CVSS 3.1 9.6 重要;Microsoft自身の評価は「重要」)を割り当て、2026年11月10日にリリースされたVS Code 1.145.3で、elicitationメッセージをリテラルテキストとしてレンダリングすることで修正しました。
なぜ重要か
これは直接的なエージェント/MCP攻撃クラスです:開発者がIDEに接続するリモートMCPサーバーが、レンダリングされたテキストから開発者環境内のローカルコマンド実行へ境界を越えることができます。VS Codeの普及率(開発者の70%以上)とリモートMCPサーバーの急速な成長を考えると、開発者に悪意のあるサーバーを接続させる攻撃者は、そのユーザーの権限でコード実行を達成できます。
攻撃経路
悪意のあるMCPサーバーが、command: URI(または事前解析済みリンクノードを模倣したオブジェクト)を含む細工されたメッセージを持つelicitation/createリクエストを送信;通知リンクのレンダリングとクリックで、ユーザーの権限でワークベンチコマンドが実行される。
影響を受けるシステム
Microsoft Visual Studio Code < 1.145.3 (MCP elicitation / 通知レンダラー)
緩和策
VS Code 1.145.3+にアップグレード;MCPサーバーを信頼できないものとして扱い、特に特権/リモートサーバーを接続前に検査。