XSS Bug in VS Code Extension Exposed Local Files

VS Code Live Preview拡張機能のXSS脆弱性により、localhostサーバーを介して開発者のローカルファイルと認証情報が外部に流出する可能性があった。

執筆者
Ken Underhill
Ken Underhill
Feb 18, 2026
4 minute read
eSecurity Planet のコンテンツおよび製品のおすすめは、編集上の独立性を保っています。パートナーへのリンクをクリックすると、当社が報酬を得る場合があります。 詳細を見る

広く利用されているMicrosoft Visual Studio Code(VS Code)拡張機能のXSS(クロスサイトスクリプティング)脆弱性により、数百万人の開発者がローカルファイルを外部に窃取されるリスクにさらされていた。

この問題は、1100万回以上ダウンロードされている公式のLive Preview拡張機能に影響し、悪意のあるWebサイトが開発者のlocalhost環境とやり取りできる状態になっていた。

「…悪意のあるWebサイトから認証なしで送信されたリクエストにより、Live Previewサーバーを実行している開発者のマシン上にある内部のルートファイルを列挙できる」と述べたOX Securityの研究者ら。

VS CodeのXSS脆弱性

Live Previewは、IDEを離れることなくWebアプリケーションをローカルでレンダリングしてテストできる、Microsoft公式のVS Code拡張機能だ。

この機能を実現するため、拡張機能は開発者のマシン上で組み込みHTTPサーバーを実行し、通常はlocalhostアドレスからアクセスできる。

このアーキテクチャは開発ワークフローを効率化する一方で、拡張機能がWebリクエストを処理し、ローカルファイルシステムと直接やり取りすることも意味するため、安全な入力処理が不可欠になる。

この問題は、Live Previewサーバー内で信頼できない入力を不適切に処理していたことに起因する。

具体的には、「ページが存在しない」場合、relativePathFormattedというパラメーターが適切にサニタイズされないままブラウザーに返されていた。

この値はエスケープされていなかったため、攻撃者は細工したJavaScriptペイロードをレスポンスに注入でき、反射型XSS脆弱性につながった。

実際、開発者がLive Previewを実行した状態で悪意のある、または侵害されたWebサイトにアクセスすると、そのサイトは認証なしのHTTPリクエストをローカルのLive Previewサーバーに送信できた。

XSSの状態により、注入されたスクリプトは信頼されたlocalhostサービスのコンテキスト内で実行可能だった。これにより、外部のWebコンテンツが内部の開発リソースとやり取りできる状態になっていた。

研究者らは、この挙動によって攻撃者が内部のルートディレクトリを列挙し、.env設定ファイルなどの機密性の高いローカルファイルにアクセスして、APIキーやパスワードを抜き出し、専有のソースコードを取得できることを実証した。

Live Previewのバージョン0.4.16以前はすべて、この脆弱性の影響を受ける。

Microsoftはその後、最新のパッチで影響を受ける入力を適切にサニタイズしてこの問題に対処したが、古いバージョンを実行しているシステムは依然として潜在的なデータ流出のリスクにさらされている。

開発環境におけるリスクの軽減

組織は、更新を適用し、追加のハードニング対策を実施することで開発環境を保護し、リスクへの露出を減らすべきだ。

開発用ワークステーションにはソースコードや認証情報が保存されていることが多いため、ローカルのセキュリティ制御を強化すれば、同様の脆弱性による影響を抑えられる。

  • Live Preview拡張機能を最新バージョンに更新し、規律あるパッチ管理プログラムを実施して、IDE、拡張機能、OS、依存関係を管理する。
  • 攻撃対象領域を縮小するため、不要なVS Code拡張機能を無効化またはアンインストールし、積極的に使用していないときはローカル開発サーバーを停止する。
  • localhostベースのサービスへのアクセスをホストファイアウォールで制限し、ネットワークの分離や、ローカルリソースへのクロスオリジンリクエストを制限する制御を行う。
  • ネットワークの出口フィルタリングとDNS監視を実装し、開発用ワークステーションからの不審な外向き接続を検知またはブロックする。
  • エンドポイントセキュリティを強化するため、EDRツールを導入し、異常なlocalhostアクティビティ、予期しないファイルアクセス、通常とは異なるスクリプト実行を監視する。
  • 機密データを保護するため、安全なシークレット管理ソリューションを使用し、認証情報を.envなどの平文ファイルに保存しない。
  • 定期的にインシデント対応計画をテストして更新し、開発環境が侵害された場合に迅速な検知、封じ込め、認証情報のローテーションを確実に行えるようにする。

これらの対策を組み合わせることで、侵害された開発環境による潜在的な被害範囲を抑えながら、同様の脅威に対する長期的なレジリエンスを構築できる。

Advertisement

ローカル開発ツールとセキュリティリスク

今回のインシデントは、特に組み込みのローカルサーバーなどの機能がローカルファイルシステムとやり取りする場合に、現代の開発ツールに伴うセキュリティ上の考慮事項を浮き彫りにした。

IDE拡張機能が新たな機能を追加し続ける中、組織は他の機密性の高いシステムで用いているものと同様、一貫したセキュリティ制御を開発用ワークステーションにも適用すべきだ。

デジタルエコシステム全体でリスクが高まる中、組織はゼロトラストソリューションを導入し、アプリケーション、ユーザー、ローカルリソース間の暗黙の信頼を減らしている。

Ken Underhill

Ken Underhill is an award-winning cybersecurity professional, bestselling author, and seasoned IT professional. He holds a graduate degree in cybersecurity and information assurance from Western Governors University and brings years of hands-on experience to the field.

eSecurity Planet Logo

eSecurity Planet is a leading resource for IT professionals at large enterprises who are actively researching cybersecurity vendors and latest trends. eSecurity Planet focuses on providing instruction for how to approach common security challenges, as well as informational deep-dives about advanced cybersecurity topics.

TechnologyAdvice が所有・運営しています。 © 2026 TechnologyAdvice. 無断転載を禁じます

広告主に関する開示:このサイトに掲載されている製品の一部は、TechnologyAdvice が報酬を受け取っている企業のものです。この報酬は、製品がこのサイトのどこにどのように表示されるか(表示される順序など)に影響する場合があります。TechnologyAdvice は、市場で入手可能なすべての企業やすべての種類の製品を掲載しているわけではありません。