Next.js の脆弱性レポート(CVE-2026-44573)
調査日: 2026-05-09 ステータス: Published (GitHub Advisory: Reviewed 2026-05-06)
概要
Next.js の Pages Router において、i18n 設定が有効な環境でミドルウェアが /_next/data/<buildId>/<page>.json リクエストに対して実行されず、認可チェックをバイパスして SSR データを取得できる脆弱性が存在する。v12.2.0 以降の長期間にわたり影響が存在していた。
基本情報
| 項目 | 内容 |
|---|---|
| CVE ID | CVE-2026-44573 |
| GHSA ID | GHSA-36qx-fr4f-26g5 |
| CVSS v3.1 スコア | 7.5 (High) |
| CVSS ベクター | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| CWE | 情報なし |
| 公開日 | 2026-05-06 |
| 最終更新日 | 2026-05-06 |
影響を受けるソフトウェア
Next.js (npm)
- ベンダー: Vercel
- 影響バージョン:
>= 12.2.0, < 15.5.16/>= 16.0.0, < 16.2.5 - 修正バージョン: 15.5.16 / 16.2.5
脆弱性の詳細
Next.js の Pages Router で i18n(国際化)設定が有効になっている場合、ロケールプレフィックスなしの /_next/data/<buildId>/<page>.json リクエストに対してミドルウェアが実行されない問題が存在した。Pages Router では、SSR ページのデータフェッチ結果が /_next/data/ パス配下の JSON エンドポイントとして提供されるが、i18n 設定下で特定のパス形式のリクエストがミドルウェアのマッチングルールから漏れていた。攻撃者はこのエンドポイントに直接アクセスすることで、ミドルウェアによる認証・認可チェックを回避し、SSR で生成されたページデータ(JSON 形式)を取得できた。この脆弱性は v12.2.0 以降に存在しており、長期間にわたり潜在していた。
対策・推奨事項
- Next.js を 15.5.16 以降または 16.2.5 以降にアップグレードする
- i18n 設定下でも
/_next/data/パスに対してミドルウェアが正しく実行されるようになる修正が含まれている - アップグレードが即座にできない場合、リバースプロキシで
/_next/data/パスに対する認証を強制することを検討 - Pages Router で i18n を使用していない場合、または ミドルウェアで認可チェックを行っていない場合は直接的な影響はないが、予防的にアップグレードを推奨
フロントエンド影響分析
Next.js はフロントエンドフレームワークであり、このセクションは必須。
| 構成 | 影響度 | 対処要否 | 備考 |
|---|---|---|---|
| SPA(クライアントサイドのみ) | ⚪ なし | 対処不要 | 静的エクスポートでは Pages Router のミドルウェアが存在しない |
| SSR(サーバーサイドレンダリング) | 🔴 高 | 要対処 | 認証不要でデータ漏洩が可能 |
判定の考え方
- ブラウザのセキュリティ境界: この脆弱性はサーバーサイドのミドルウェアマッチングの不備であり、ブラウザの Same-Origin Policy や CORS はこの攻撃を防止できない。攻撃者は
/_next/data/パスへの直接リクエストにより、ブラウザのセキュリティ機能を経由せずにデータを取得できる。 - 実行環境: Pages Router のミドルウェアおよび SSR データエンドポイントは Next.js サーバー上でランタイムに実行される。SPA(静的エクスポート)ではミドルウェアもサーバーサイドのデータエンドポイントも存在しないため影響を受けない。i18n 設定を使用した SSR 環境でのみ攻撃面が存在する。
- 攻撃ベクター: 認証不要(PR:N)でネットワーク経由(AV:N)から攻撃可能であり、攻撃複雑度も低い(AC:L)。
/_next/data/<buildId>/<page>.jsonの URL パターンは推測可能であり、ビルド ID が判明すれば任意のページデータを取得できる。機密性への影響が高い(C:H)。 - ランタイム vs ビルドタイム: この脆弱性はランタイムにおけるリクエスト処理の問題であり、ビルドタイムには影響しない。ビルド時に生成されるビルド ID がデータエンドポイントの URL に含まれるが、脆弱性自体はランタイムのミドルウェアマッチングに起因する。
参考リンク
情報ソース
| ソース | 取得状況 |
|---|---|
| NVD (NIST) | ❌ 取得不可 |
| GitHub Advisory | ✅ 取得済み |
| Web検索 | ✅ 取得済み |