週5,300万DLのVitestに深刻な脆弱性! CVSS 9.8のリモートコード実行、今すぐアップデートを

目次

テストフレームワーク経由で開発マシンが乗っ取られる

2026年6月5日、JavaScriptテストフレームワークVitestに複数の深刻な脆弱性が公開されました。最高でCVSSスコア9.8。攻撃者が開発者のローカル環境やCI/CDでリモートコード実行(RCE)できる致命的な問題です。

Vitestは週5,300万回以上ダウンロードされる人気テストフレームワーク。React + Viteのプロジェクトを中心に、多くの開発現場で使われています。「テストツールだから本番には関係ない」と思っていると、開発マシン経由でソースコードやシークレットが丸ごと持っていかれます

3つの脆弱性の概要

CVE-2026-47428:スクリプトインジェクション(CVSS 9.8)

VitestのWebインターフェース(Browser Mode)で、URLのクエリパラメータがサニタイズされずにインラインスクリプトとしてレンダリングされる問題。攻撃者は細工したURLを開かせるだけで任意のJavaScriptを実行できます。

これにより、Vitestの認証トークンが窃取され、vite.config.tsなどの設定ファイルを書き換えられます。次のファイルリロード時にNode.jsが改ざんされた設定を読み込み、攻撃者のコードがサーバーサイドで実行されます。

CVE-2026-47429:Windowsのパストラバーサル(CVSS 9.8)

Windows環境において、パス操作の文字列を使ってプロジェクトディレクトリ外のファイルに認証なしでアクセスできる脆弱性。.envファイルやSSH鍵など、プロジェクト外の機密ファイルが読み取られるリスクがあります。

Chrome DevTools Protocol経由のRCE(CVSS 9.8)

VitestがChrome DevTools Protocolのインターフェースを公開しており、通常のアクセス制御をバイパスしてDevToolsコマンドを直接送信できる問題。攻撃者はプロジェクトルートに不正なファイルをダウンロードさせ、コード実行につなげることができます。

影響範囲と対象バージョン

項目 内容
影響を受けるツール Vitest(Browser Mode使用時が主な攻撃経路)
修正バージョン 4.1.6 および 5.0.0-beta.3
影響範囲 開発者のローカルマシン、CI/CD環境
主なリスク ソースコードの窃取、シークレットの漏洩、設定ファイルの改ざん

「本番サーバーには影響しない」からといって安心できません。開発マシンにはGitHubトークン、AWSキー、.envの本番シークレットなど、本番環境そのものへのアクセス手段が詰まっています。開発環境が侵害されること=本番環境への侵入口を渡すことです。

今すぐやるべきこと

1. Vitestをアップデートする

# 現在のバージョンを確認
npx vitest --version

# 修正版にアップデート
npm install vitest@4.1.6 --save-dev

# または最新のbeta
npm install vitest@5.0.0-beta.3 --save-dev

2. Browser Modeの設定を見直す

修正版ではallowWriteallowExecという制御機能が追加されました。サーバーがパブリックネットワークにバインドされている場合、危険な操作はデフォルトで無効化されます。開発サーバーを0.0.0.0で公開している場合は特に注意してください。

3. 開発サーバーをローカルに限定する

Vitestに限らず、開発用サーバーはlocalhost127.0.0.1)にバインドするのが鉄則です。外部からアクセスさせる必要がある場合はngrok等のトンネルツールを使い、開発サーバー自体はローカルに閉じておきましょう。

開発ツールの脆弱性を軽視しない

2026年に入ってから、開発ツールを狙った攻撃が加速しています。3月にはaxiosのnpmパッケージにマルウェアが混入し、同月にGitHub Actionsのtj-actions/changed-filesが侵害されました。そして今回のVitestの脆弱性。

共通しているのは、「開発者が信頼しているツールが攻撃の入口になる」というパターンです。本番サーバーを堅牢にしても、開発環境がザルなら意味がない。テストフレームワーク、パッケージマネージャ、CI/CDツール、エディタの拡張機能 ― 開発環境全体をセキュリティの対象として捉える意識が必要です。

開発環境のセキュリティを強化する関連記事

まとめ:テストツールだから安全、ではない

  • Vitestに3件のCVSS 9.8脆弱性が公開された(2026年6月5日)
  • 攻撃経路:スクリプトインジェクション、Windowsパストラバーサル、Chrome DevTools Protocol悪用
  • 修正版は4.1.6 / 5.0.0-beta.3。今すぐアップデートが必要
  • 開発サーバーはlocalhostに限定0.0.0.0でのバインドは避ける
  • 開発ツール=安全ではない。開発環境全体をセキュリティの対象として捉える

「テストフレームワークの脆弱性なんて本番に関係ない」と思った方、考え直してください。開発マシンには本番へのアクセス手段がすべて揃っています。今日のうちにnpx vitest --versionを叩いて、4.1.6未満なら即アップデート。それが今できる最速の対策です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次