目次(5)

CVE-2026-119198
CVE-2026-119199
CVE-2026-119200
CVE-2026-119201
Web アプリのフレームワーク Nuxt に、2026 年 10 月 30 日(UTC)に 4 件の脆弱性が公開されました。いずれも GitHub Advisory では Medium です。3 件は開発用サーバー(nuxt dev)、1 件は server/middleware などのパス判定に関わります。CISA の KEV には載っていません。EPSS は 0.21〜0.35% です(10/30 時点)。修正版の nuxt 4.6.3 は 10/27 に公開されています。
4 件の内容
| CVE | 対象 | 内容 | CVSS v3.1 |
|---|---|---|---|
| CVE-2026-119198 | @nuxt/vite-builder 4.6.0〜4.6.2 | 開発サーバーの HMR ソケット経由で、絶対パスを指定して任意のファイルを読める | 5.9 |
| CVE-2026-119199 | @nuxt/vite-builder 3.0.0 以上 4.6.3 未満 | 開発用の Nitro バンドルが取得でき、非公開の runtimeConfig の値が漏れる | 5.9 |
| CVE-2026-119200 | nuxt/@nuxt/nitro-server 4.6.0〜4.6.2 | /%2e/admin のようなパスで server/middleware やルートルールを回避して、ページを表示できる | 6.5 |
| CVE-2026-119201 | @nuxt/vite-builder 4.6.0〜4.6.2 | 自動生成される開発用 appSecret が取得でき、セッション Cookie を偽造できる | 4.8 |
開発サーバーの 3 件(119198・119199・119201)
- 共通の条件は、開発サーバーに直接 HTTP でつなげることです。
nuxt devは既定では localhost だけで待ち受けるため、主な影響は--host、公開したコンテナのポート、トンネルなどでネットワークに出してしまった場合です。別サイトの Web ページがブラウザ経由で読むことはできないと、勧告は述べています。本番ビルドは影響を受けません。 - CVE-2026-119198: 勧告によると、HMR ソケットに送るエラー通知の末尾に絶対パスを付けると、サーバーがそのファイルを読んでエラー報告に載せます。SSH 鍵、
.env、クラウドの認証情報など、開発プロセスが読めるファイルが対象です。Vite 側のファイル許可リストを通らない経路です。 - CVE-2026-119199:
.nuxt/dev/index.mjsが Vite 経由で取得でき、nuxt.configに書いた非公開の runtimeConfig(.envから読んだ値を含む)が入っています。Nuxt 3 は更新終了のため修正されません。Nitro 3 の構成は影響を受けません。 - CVE-2026-119201: appSecret を設定していないと、
.nuxt/app-secretに開発用の秘密が作られ、取得できます。useSessionの既定のパスワードも導けるため、その開発サーバーが受け付けるセッション Cookie を偽造できます。
パスの判定を回避する 1 件(119200)
- 4.6.0 以降、Nuxt はページを表示する前に
.と..(%2eの形も含む)を解決しますが、Nitro のルーティング、ルートルール、server/middlewareは解決前のパスを見ます。そのため/adminは 401 でも、/%2e/adminは middleware を通らずにadmin.vueが表示されます。 - 認証なしで、パスで判定している middleware、
redirect・headersのルートルール(CSP などのヘッダーも付かない)を回避できます。 - 影響しないもの:
server/apiとserver/routesの API ハンドラー、definePageMetaとappMiddleware、Nuxt 3.x と 4.0.0〜4.5.x(この形のリクエストは 404)。 - ブラウザは送る前にドットセグメントを解決するため、パスをそのまま送れるクライアントが必要です。
対応
- nuxt を 4.6.3 以降に更新します(@nuxt/vite-builder も 4.6.3 に上がります)。
- 更新できない場合、開発サーバーを信頼できないネットワークに出しません(
--host、--tunnel、ポートの公開を避ける)。NUXT_APP_SECRETに 32 文字以上のランダムな値を設定します。 - 開発サーバーが外から届く状態で古い版を動かしていた場合は、そのマシンで読めるファイルが漏れた可能性があるとして、SSH 鍵や
.envの秘密を入れ替えます。.nuxt/app-secretは削除すると次回起動時に再生成されます。 - 119200 の暫定策は、他の middleware より前に動く
server/middleware/0.dot-segments.tsで.や..を含むパスを 404 にすることです。パスを正規化するリバースプロキシや CDN も同じ効果があります。
未確認の点
- NVD の記載は確認できていません(公開直後)。
- 悪用の報告は見つかっていません(KEV 掲載なし、EPSS は低い水準)。
- 119199 は 3.0.0 以降が範囲ですが、Nuxt 3 には修正が出ません。使い続ける場合は、開発サーバーを外に出さない対応が必要です。
この記事について
- 執筆・編集
- World Security 編集部
出典
- GitHub Advisory GHSA-x287-wcfc-q46c(GitHub)
- GitHub Advisory GHSA-648h-gw55-m2g7(GitHub)
- GitHub Advisory GHSA-9v7c-q64q-vv33(GitHub)
- GitHub Advisory GHSA-3xf4-9g3c-4h4w(GitHub)
- Nuxt v4.6.3 リリース(Nuxt)
- NVD CVE-2026-119198(NIST NVD)
- NVD CVE-2026-119199(NIST NVD)
- NVD CVE-2026-119200(NIST NVD)
- NVD CVE-2026-119201(NIST NVD)
- FIRST EPSS API(FIRST)
- CISA Known Exploited Vulnerabilities Catalog(JSON)(CISA)




