Viteの脆弱性GHSA-p4f5-76q4-ffq7|開発サーバーでコード実行、確認方法と修正版
GHSA-p4f5-76q4-ffq7Viteは11月10日、ネットワークへ公開した開発サーバーで任意のコードを実行される脆弱性GHSA-p4f5-76q4-ffq7を公表しました。開発サーバーの公開範囲と依存関係を確認し、使っている系列に対応する修正バージョンへ更新します。Vite+も対象です。[1]
- 対象は--hostやserver.hostでネットワークへ公開した開発サーバーです。
- Vite 6.4.6・7.3.8・8.1.7・8.3.7とVite+ 1.5.1の配布を確認しました。
- Vite 8.2.5はnpmで取得できませんでした。8.2系では互換性を確認して8.3.7への更新を検討します。
- Vite 8はRolldownの依存関係も確認し、更新後に開発サーバーを再起動します。
01開発サーバーでコード実行やファイル漏えいが起きる問題
02ネットワークへ公開した開発サーバーが対象
03ファイル読み取りのPoCが公開済み
提供元の告知には、許可範囲外のファイルを読み取るPoCが掲載されています。コード実行へつながる仕組みも説明されていますが、確認した告知には実際の攻撃を観測したとの記載はありません。[1]
04対象バージョンと配布を確認できた更新先
提供元が示す対象範囲と修正バージョンは次のとおりです。[1]
| 影響を受ける範囲 | 告知の修正バージョン | 今回の更新先 |
|---|---|---|
| Vite 4.0.0〜6.4.5 | 6.4.6 | 6.4.6への移行を検討 |
| Vite 7.0.0〜7.3.7 | 7.3.8 | 7.3.8 |
| Vite 8.0.0〜8.1.6 | 8.1.7 | 8.1.7 |
| Vite 8.2.0〜8.2.4 | 8.2.5 | 配布を確認できた8.3.7へ |
| Vite 8.3.0〜8.3.6 | 8.3.7 | 8.3.7 |
| Vite+ 1.5.0以下 | 1.5.1 | 1.5.1 |
npmで6.4.6・7.3.8・8.1.7・8.3.7とVite+ 1.5.1の配布を確認しました。8.2.5はGitHubにリリースがありますが、確認時のnpmのバージョン一覧に存在せず、個別の取得も404でした。8.2系では、互換性を確認して8.3.7へ上げます。[2][3][4][5]
Vite 4・5系から6.4.6への移行ではメジャーバージョンが変わります。プラグインとフレームワークの対応も確認します。この表は今回の脆弱性への更新先です。更新前に採用するバージョンのリリースノートと、ほかのセキュリティ告知も確認してください。
05依存関係を確認し、更新後に開発サーバーを再起動する
- 実際に使うバージョンを確認します。プロジェクトのディレクトリで
npm ls vite vite-plus rolldown --allを実行します。package.jsonだけでなくpackage-lock.jsonも確認し、フレームワークが持つ別のViteが残っていないか調べます。 - 使っている系列に合わせて更新します。Viteを開発依存に直接登録している8.3系の例は
npm install --save-dev vite@8.3.7です。7系・6系は表の更新先を使い、間接依存なら親のフレームワークの更新方法に従います。pnpm・Yarnを使うプロジェクトでは、その管理ツールで依存関係とlockファイルを更新します。 - 修正が反映されたことを確認します。再度
npm ls vite vite-plus rolldown --allを実行し、lockファイルの差分とテスト・ビルドを確認します。実行中の開発サーバーを停止して起動し直し、共有環境や開発用コンテナも更新した依存関係で作り直します。
Vite 7.3.8・8.1.7・8.3.7のNode.js要件は^20.19.0 || >=22.12.0です。Vite+ 1.5.1は^22.18.0 || ^24.11.0 || >=26.0.0なので、Viteと同じ要件として扱わず、実行環境も確認します。[4][6][7][8]



06更新まで開発サーバーの公開を止める
提供元の告知には、更新とは別の回避策の記載はありません。影響条件は開発サーバーのネットワーク公開です。[1]
更新までの間は、外部へ公開している開発サーバーを停止し、ポート公開や中継経路を閉じます。開発を続ける必要がある場合も、利用者を限定した環境で、アクセス制限が実際に効いていることを確認します。ファイルの許可範囲を絞る設定だけに依存せず、サーバーへの到達自体を制限します。
07Vite 8ではRolldownも更新されたことを確認する
よくある質問
本番の静的サイトも対象ですか?
告知が対象とするのは、ネットワークへ公開したViteの開発サーバーです。ビルド済みの静的ファイルだけを配信している場合は、その成立条件に当たりません。本番環境で開発サーバーを動かしていないか確認してください。
Vite 8.2.5に更新すればよいですか?
提供元は修正バージョンとして8.2.5を挙げていますが、確認時のnpmには存在しませんでした。配布を確認できた8.3.7を更新先として、フレームワークやプラグインの互換性を確認してください。
Viteの番号だけを確認すれば十分ですか?
Vite 8ではRolldownのバイナリに修正があります。依存関係の固定指定、lockファイル、コンテナ内のパッケージを確認し、更新した構成で開発サーバーを起動し直します。
出典・参考資料
- Vite提供元:GHSA-p4f5-76q4-ffq72026-11-10(日本時間) / 成立条件、影響範囲、修正バージョン、CVSS 4.0 9.1、PoC、Rolldownの修正
- npm:Viteの配布メタデータ2026-11-11確認 / 6.4.6・7.3.8・8.1.7・8.3.7の配布と8.2.5が一覧に存在しないこと
- Vite提供元:v8.3.7リリース2026-11-09(日本時間) / Rolldown 1.2.18への更新
- npm:vite-plus 1.5.12026-11-11確認 / Vite+の配布とNode.jsの要件
- Vite提供元:v8.2.5リリース2026-11-09(日本時間) / GitHub上の8.2.5リリースの存在
- npm:vite 8.3.72026-11-11確認 / Node.jsの要件とRolldown ~1.2.18への依存
- npm:vite 8.1.72026-11-11確認 / 配布、Node.jsの要件、Rolldown ~1.1.7への依存
- npm:vite 7.3.82026-11-11確認 / 配布とNode.jsの要件
あわせて読みたい記事
Viteの脆弱性CVE-2026-118662|.envを読まれる6.4.4の確認方法と6.4.5への更新
Vite 6.4.4の脆弱性CVE-2026-118662は、ネットワークに公開した開発サーバーで、拒否したはずの.envなどを返すおそれがあります。10月6日の更新で6.4.4にした環境が対象になった理由、初期設定で条件がそろう点、Astro 5など間接の依存の確かめ方、6.4.5への上げ方を説明します。
Next.jsの脆弱性3件(2026年10月)|対象バージョンと確認方法、16.4.1・15.5.28への更新
Next.jsで日本時間10月15日に公表された脆弱性3件(GHSA-673q-mjm6-r5xr、CVE-2026-96889ほか)は、use cache・SVGの画像最適化・Server Actionsでコード実行やサービス停止のおそれがあります。系列ごとの対象と修正版、15系でsharpが古いまま残る場合の確かめ方、ホスティングごとの違いを説明します。

SASTとSCAの違い・使い分け|自動検査の範囲と異常系・回帰試験
SASTとSCAの違いを、調べる対象(自社のソースコードと取り込んだOSS部品)で説明する。両方で見つけにくい認可の誤りを補う動作試験、除外の記録、redis-pyの事故に学ぶ修正後の回帰試験とSCAの再実行も扱う。