---
title: "Nuxt に Medium の脆弱性 4 件（CVE-2026-119198〜119201）: 開発サーバーから秘密情報やファイルが読め、ドットセグメントで server/middleware を回避。nuxt 4.6.3 で修正"
url: https://n-t-p.io/worldsecurity/articles/nuxt-dev-server-secret-leak-file-read-dot-segment-bypass-2026-119201
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年11月7日
updated: 2026年11月7日
severity: 中
cve: CVE-2026-119198, CVE-2026-119199, CVE-2026-119200, CVE-2026-119201
---

# Nuxt に Medium の脆弱性 4 件（CVE-2026-119198〜119201）: 開発サーバーから秘密情報やファイルが読め、ドットセグメントで server/middleware を回避。nuxt 4.6.3 で修正

> **TL;DR:** Nuxt の 4 件（CVE-2026-119198〜119201、Medium）。`nuxt dev` を外に出していると、任意ファイルの読み取り、runtimeConfig の秘密の漏えい、開発用 appSecret によるセッション偽造が起き得る。さらに 4.6.0〜4.6.2 は `/%2e/admin` のパスで server/middleware を回避できる。nuxt 4.6.3（10/27）で修正。KEV 掲載なし、EPSS は 0.2〜0.35%。

**要点**
- 開発サーバー（nuxt dev）をネットワークに出していると、任意ファイル読み取り（CVE-2026-119198）、runtimeConfig の秘密の漏えい（119199）、開発用 appSecret の取得（119201）が起き得る。本番ビルドは対象外
- CVE-2026-119200: 4.6.0〜4.6.2 で /%2e/admin のようなパスが server/middleware とルートルールを回避してページを表示（CVSS 6.5）。API ハンドラーは対象外
- nuxt 4.6.3 に更新（10/27 公開）。Nuxt 3 は更新終了で 119199 の修正なし
- 古い版の開発サーバーを外に出していた場合は SSH 鍵・.env などの秘密を入れ替える
- NVD は未確認。KEV 掲載なし。EPSS は 0.21〜0.35%（10/30）

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）。
- ブラウザは送る前にドットセグメントを解決するため、パスをそのまま送れるクライアントが必要です。

## 対応

1. nuxt を 4.6.3 以降に更新します（@nuxt/vite-builder も 4.6.3 に上がります）。
2. 更新できない場合、開発サーバーを信頼できないネットワークに出しません（`--host`、`--tunnel`、ポートの公開を避ける）。`NUXT_APP_SECRET` に 32 文字以上のランダムな値を設定します。
3. 開発サーバーが外から届く状態で古い版を動かしていた場合は、そのマシンで読めるファイルが漏れた可能性があるとして、SSH 鍵や `.env` の秘密を入れ替えます。`.nuxt/app-secret` は削除すると次回起動時に再生成されます。
4. 119200 の暫定策は、他の middleware より前に動く `server/middleware/0.dot-segments.ts` で `.` や `..` を含むパスを 404 にすることです。パスを正規化するリバースプロキシや CDN も同じ効果があります。

## 未確認の点

- NVD の記載は確認できていません（公開直後）。
- 悪用の報告は見つかっていません（KEV 掲載なし、EPSS は低い水準）。
- 119199 は 3.0.0 以降が範囲ですが、Nuxt 3 には修正が出ません。使い続ける場合は、開発サーバーを外に出さない対応が必要です。


## 出典
- [GitHub Advisory GHSA-x287-wcfc-q46c](https://github.com/advisories/GHSA-x287-wcfc-q46c) — GitHub
- [GitHub Advisory GHSA-648h-gw55-m2g7](https://github.com/advisories/GHSA-648h-gw55-m2g7) — GitHub
- [GitHub Advisory GHSA-9v7c-q64q-vv33](https://github.com/advisories/GHSA-9v7c-q64q-vv33) — GitHub
- [GitHub Advisory GHSA-3xf4-9g3c-4h4w](https://github.com/advisories/GHSA-3xf4-9g3c-4h4w) — GitHub
- [Nuxt v4.6.3 リリース](https://github.com/nuxt/nuxt/releases/tag/v4.6.3) — Nuxt
- [NVD CVE-2026-119198](https://nvd.nist.gov/vuln/detail/CVE-2026-119198) — NIST NVD
- [NVD CVE-2026-119199](https://nvd.nist.gov/vuln/detail/CVE-2026-119199) — NIST NVD
- [NVD CVE-2026-119200](https://nvd.nist.gov/vuln/detail/CVE-2026-119200) — NIST NVD
- [NVD CVE-2026-119201](https://nvd.nist.gov/vuln/detail/CVE-2026-119201) — NIST NVD
- [FIRST EPSS API](https://api.first.org/data/v1/epss?cve=CVE-2026-119198,CVE-2026-119199,CVE-2026-119200,CVE-2026-119201) — FIRST
- [CISA Known Exploited Vulnerabilities Catalog（JSON）](https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/nuxt-dev-server-secret-leak-file-read-dot-segment-bypass-2026-119201