Visual Studio内のCopilotが、ファイル名末尾のピリオド1つで自らの防御をすり抜けられた。2026年10月13日、セキュリティ研究者のJohann Rehbergerが脆弱性CVE-2026-103572の技術的詳細を公開し、Microsoftは同日の10月の月例更新で修正を配布した。重要度はImportant、リモートコード実行に分類され、CVSSスコアは8.8。Visual StudioとSQL Server Management Studio(SSMS)の両方に影響する。
末尾のピリオド1つで、保護されるべき設定ファイルに書き込めた
問題は両製品が共有するコンポーネントMicrosoft.VisualStudio.Copilot.Core.dllのパスの検証にある。ファイル名の末尾にピリオドを付け足すだけで検証を回避でき、Copilotが本来保護されるべき設定ファイル、たとえばMCP設定やVisual Studioの設定ファイルに内容を書き込めるようになり、任意のコード実行につながる。研究者はもう1つの経路も実証した。第三者がCopilotの処理するファイルや外部データに悪意ある指示を隠し、間接的なプロンプトインジェクションで書き込みを誘導するもので、開発者本人が能動的に何かする必要はない。SSMSはVisual Studioと同一のシェルとコードを共有するため、同じ欠陥がデータベース管理者の道具にも及ぶ。影響を受けるのはVisual Studio 2022の17.14とVisual Studio 2026の18.10で、修正版はそれぞれ17.14.42と18.10.4。Microsoftの修正は、検証の前にパスを正規化し、末尾ピリオドのような細工を先に取り除く方式だ。Microsoftは現時点で悪用の確認はなく、悪用にはユーザーがCopilotを操作することも必要だとしている。研究者は今年8月にこの問題をMicrosoftへ報告していた。
Visual StudioとSSMSの利用者は、まず更新を
対応の順序は明確だ。第一に、Visual StudioとSSMSを上記の修正版へ更新し、企業環境ではCopilotが入ったマシンを優先する。第二に、修正が行き渡るまでは、出所の分からないリポジトリや外部ファイル、MCPサービスの返却内容をCopilotに気軽に処理させないこと。特に設定を自動で書き込む操作には注意が要る。この種の欠陥が厄介なのは、入口は助手にファイルを1つ読ませただけに見えて、到達点が開発マシンそのものだという点にある。開発マシンには通常、ソースコードやクラウドの鍵、リリース用の認証情報が置かれている。
ガードレールをモデルの自覚に委ねてはいけない
今回の脆弱性は、コーディングエージェントへの具体的な警告になっている。助手がファイルの書き込み、設定の変更、ツールの構成、さらにはコマンド実行まで担う以上、安全検証はモデルが触れられない場所に置き、モデル自体が外部コンテンツに誘導されうる前提で設計しなければならない。パスの検証のような地味なチェックこそ、エージェントと実システムの間にある最も薄く、最も省けない層である。Microsoftは今回、パスの正規化でピリオドの抜け穴を塞いだが、同種の問題が消えるわけではない。エージェントがローカルの道具へ次々と接続していく限り、それが触れる設定ファイルと実行ファイルはすべて、同じ基準で点検し直す価値がある。