スマートフォンの実機で表示を確かめるために、npm run dev -- --host で開発サーバーを社内のネットワークに公開する。デザイナーや顧客に見せるために、検証用のサーバーで開発サーバーをそのまま動かす。どちらも、Vite の --host の設定で開発サーバーをネットワークに公開する使い方です。
2026年10月20日から29日にかけて、この Vite の開発サーバーと、ブラウザからエディタを開く部品(launch-editor)について、GitHub Advisory Database にアドバイザリが計7件登録されました。うち Vite の3件は、「開発サーバーをネットワークに公開している場合」に、APIキーなどを書いた .env のような、本来は返さないファイルの中身(または一部)が返りうるというものです。
Astro・Nuxt・SvelteKit は Vite を依存に持ち、React のプロジェクトでも Vite で開発する構成があります。本記事では、7件の当たる条件を整理し、修正前後の版を手元で動かした結果を示します。
7件の内容と当たる条件
7件はいずれも開発サーバー(vite / vite dev)とその周辺の問題で、アドバイザリの条件は開発サーバーの起動・公開・ミドルウェアの使い方に関するものです。
| アドバイザリ | 重大度 | 何が起きうるか | 当たる主な条件 |
|---|---|---|---|
| GHSA-rq7h-c2jc-7f22 | MODERATE | server.fs.allow の外のファイルが返る | --host 等で公開、Windows 以外、ホストの絶対パスと同じ形のファイルをインポート |
| GHSA-vfpm-58rq-9qcg | MODERATE | ?vite-wasm-instance でファイルの先頭4バイトが返る | --host 等で公開、Node.js か Deno で動かす(8.2・8.3系) |
| GHSA-8g5g-mxqh-grgj | MODERATE | ?raw などを付けると server.fs.deny の対象(.env 等)が返る | --host 等で公開(6.4.4 だけ) |
| GHSA-9jrq-w75r-8gcw | LOW | 悪意のあるサイトから、開発サーバーのページでスクリプトを実行される | middlewareMode: true や appType: 'custom' で、ブラウザの URL をそのまま transformIndexHtml に渡す |
| GHSA-r825-w8mm-5pxw | MODERATE | エディタが引数をオプションと解釈し、コマンドが実行されうる | WSL、Vim・Emacs 等を使う、+ - で始まるファイルを作られる |
| GHSA-698v-4r3x-3vcv | MODERATE | Windows で % が扱われず、コマンドが実行されうる | Windows、細工した名前のファイルを置かれる 等 |
| GHSA-587h-7wmj-h5pm | HIGH | 上の条件の「ファイルを置く」必要がなくなる | Windows |
最初の3件は、どれも「開発サーバーを --host や server.host でネットワークに公開している」ことが条件です。Vite の server.host の既定値は 'localhost' で、--host を付けたり 0.0.0.0 や true を設定したりすると、LAN や公開のアドレスでも待ち受けます。
下の3件は launch-editor の問題で、Vite もこの部品を使っているため影響を受けます。Windows や WSL で開発している人がいるチームでは、ネットワークに公開していなくても確認の対象です。
修正版
どの系列にも修正版があります。npm への公開は、6.4.5 を除いて10月6日で、アドバイザリの登録はその後でした。11月9日には各系列の新しい版も出ています。11月11日の時点で、これらの版を修正版とするアドバイザリはありません。上げるなら、系列の最新版にそろえるのが簡単です。
| 系列 | 修正版(この版以上) | 系列の最新版(11月11日時点) |
|---|---|---|
| 8.3 | 8.3.3 | 8.3.7 |
| 8.2 | 8.2.4 | 8.2.6 |
| 8.0・8.1 | 8.1.6 | 8.1.7 |
| 7 | 7.3.7 | 7.3.8 |
| 6 | 6.4.5(6.4.4 は GHSA-8g5g の対象) | 6.4.6 |
Vite を含むツールチェーンの Vite+(npm の vite-plus)も、GHSA-8g5g を除く6件の対象として挙がっており、1.1.0 で修正されています。
6系は注意が必要です。6.4.4 は10月6日の修正版ですが、修正の一部が移植されていなかったため、?raw などのクエリで server.fs.deny を回避できる状態になっていました。これが10月29日の GHSA-8g5g で、6.4.5 で直っています。
Astro 7.4.10 は vite: ^8.3.6、Nuxt 4.6.4 の @nuxt/vite-builder は ^8.3.5 を依存に指定しています(npm registry の2026年11月11日時点)。フレームワークを新しい版に上げると Vite も修正版以上になりますが、ロックファイルで古い版に固定されたままになることがあるため、次の手順で実際の版を確かめます。
手元で確かめた結果
編集部の検証環境(Linux、Node.js v22.23.4)で、Vite 8.3.2・8.3.3・6.4.4・6.4.5 を版ごとに入れ、ダミーの .env(SECRET_KEY=abc123)を置いて開発サーバーを起動し、curl で要求しました。ネットワークには公開せず、localhost だけで確かめています。

- 8.3.2:
/.env?vite-wasm-instanceが 500 を返し、エラーの本文とサーバーのログに「expected magic word 00 61 73 6d, found 53 45 43 52」と出ました。53 45 43 52 は文字にすると「SECR」で、.envの先頭4バイトです。 - 6.4.4:
/.env?raw・/.env?import&rawが 200 でexport default "SECRET_KEY=abc123\n"を返し、/.env?import&url&inlineは中身を base64 にして返しました。/.envそのものは 403 でした。 - 8.3.3・6.4.5:試した5つの要求はすべて 403 でした。
localhost での確認なので、これは「ネットワーク越しに攻撃が成立する」ことを示すものではありません。ただ、開発サーバーを公開していれば、同じ要求は社内の別の端末からも届きます。Windows・WSL での launch-editor の3件と、middlewareMode の件は再現していません。
確認と更新の手順(編集部の提案)
ここからは編集部の提案です。
1. 実際に入っている版を確かめる。 プロジェクトのディレクトリで次を実行し、上の修正版の表と比べます。フレームワークの中に入っている Vite も表示されます。
npm ls vite
2. 上げる。 フレームワークを使っている場合はフレームワークを上げ、もう一度 npm ls vite で確かめます。Vite を直接使っている場合は、系列の修正版以上に上げます。
3. 開発サーバーを公開する場面を決める。 --host を付けるのは実機の確認など必要なときだけにし、package.json の dev のスクリプトに常に付けない。検証用のサーバーで顧客に見せる場合は、開発サーバーではなく vite build の結果を配信する、というルールにすると、今回のような開発サーバーの問題の影響を受けにくくなります。
4. server.fs.deny を自分で設定している場合は見直す。 Vite のドキュメントには、11月5日に「この設定は既定の一覧を置き換える。残したい既定のパターンは自分の一覧に含める」と追記されました。既定の一覧は .env、.env.*、証明書や鍵の拡張子、.npmrc、.yarnrc.yml、.git の中です。また、public のディレクトリにはこの一覧が効かないため、秘密の情報を置かないようにします。
フレームワーク側の脆弱性の確かめ方は、Next.jsの10月のアドバイザリの記事で扱いました。Astro の環境変数の扱いは、Astro 7.4.5の記事も参考になります。
確認した範囲
2026年11月11日に、GitHub Advisory Database の7件のアドバイザリ(画面と API)、vitejs/vite のタグ・CHANGELOG と v8.3.7 のドキュメント(vite.dev の公開ページを含む)、npm registry の公開日時と各フレームワークの依存を確認しました(資料調査)。11月11日の時点で、10月29日より後に登録された Vite のアドバイザリはありません。あわせて、Vite 8.3.2・8.3.3・6.4.4・6.4.5 を localhost で起動し、ダミーの
.envへの5種類の要求の結果を比べました(実機検証。Linux、Node.js v22.23.4。手順と出力は記事の根拠記録に保存)。
制作中のサイトの依存の更新や、開発・検証環境の運用ルールづくりは、グリームハブの開発・AI・自動化のご相談で承っています。構成によって進め方が変わるため、お問い合わせからご相談ください。
参考資料
- GitHub Advisory Database — GHSA-8g5g-mxqh-grgj(Vite: server.fs.deny bypassed with queries)
- GitHub Advisory Database — GHSA-rq7h-c2jc-7f22
- GitHub Advisory Database — GHSA-vfpm-58rq-9qcg
- GitHub Advisory Database — GHSA-9jrq-w75r-8gcw
- GitHub Advisory Database — GHSA-587h-7wmj-h5pm(launch-editor)
- GitHub Advisory Database — GHSA-698v-4r3x-3vcv(launch-editor)
- GitHub Advisory Database — GHSA-r825-w8mm-5pxw(launch-editor)
- Vite — Server Options
- vitejs/vite — docs/config/server-options.md(v8.3.7)









