Next.js の脆弱性レポート(CVE-2026-44574)
調査日: 2026-05-09 ステータス: Published (GitHub Advisory: Reviewed 2026-05-06)
概要
Next.js の動的ルートにおいて、細工されたクエリパラメータにより内部ルートパラメータ値を上書きし、ミドルウェアのチェックをバイパスできる脆弱性が存在する。URL パス自体を変更することなく、ミドルウェアによる認可チェックを回避して保護されたリソースにアクセスできる。
基本情報
| 項目 | 内容 |
|---|---|
| CVE ID | CVE-2026-44574 |
| GHSA ID | GHSA-492v-c6pp-mqqv |
| CVSS v3.1 スコア | 8.1 (High) |
| CVSS ベクター | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
| CWE | CWE-288: Authentication Bypass Using an Alternate Path or Channel |
| 公開日 | 2026-05-06 |
| 最終更新日 | 2026-05-06 |
影響を受けるソフトウェア
Next.js (npm)
- ベンダー: Vercel
- 影響バージョン:
>= 15.4.0, < 15.5.16/>= 16.0.0, < 16.2.5 - 修正バージョン: 15.5.16 / 16.2.5
脆弱性の詳細
Next.js の動的ルーティングにおいて、クエリパラメータが内部的なルートパラメータ値を上書きできる問題が存在した。攻撃者は細工されたクエリパラメータを含む URL を送信することで、ミドルウェアが参照するルートパラメータの値を操作できる。これにより、ミドルウェアが動的ルートのパラメータ(例: [slug]、[id] 等)に基づいて認可チェックを行っている場合、実際のパスを変更せずにチェックをバイパスできる。機密性と整合性の両方に高い影響があり(C:H/I:H)、認可されていないデータの閲覧やデータの改ざんが可能となる。
対策・推奨事項
- Next.js を 15.5.16 以降または 16.2.5 以降にアップグレードする
- ミドルウェアでの認可チェックにおいて、クエリパラメータからのルートパラメータ上書きが防止される修正が含まれている
- アップグレードが即座にできない場合、ミドルウェアの認可ロジックがクエリパラメータの影響を受けないことを確認する
- 動的ルートパラメータに依存した認可チェックを行っている箇所を洗い出し、サーバーサイドでの二重チェックを実装することを推奨
フロントエンド影響分析
Next.js はフロントエンドフレームワークであり、このセクションは必須。
| 構成 | 影響度 | 対処要否 | 備考 |
|---|---|---|---|
| SPA(クライアントサイドのみ) | ⚪ なし | 対処不要 | 静的エクスポートではミドルウェアが存在しない |
| SSR(サーバーサイドレンダリング) | 🔴 高 | 要対処 | ミドルウェアの認可バイパスが低い攻撃複雑度で成立する |
判定の考え方
- ブラウザのセキュリティ境界: この脆弱性はサーバーサイドのミドルウェア処理における問題であり、ブラウザのセキュリティ機能(Same-Origin Policy、CORS 等)では防止できない。攻撃リクエストはブラウザを経由せずとも直接サーバーに送信可能である。
- 実行環境: ミドルウェアは Next.js サーバー上でリクエスト処理時に実行されるため、SSR 構成でのみ影響がある。SPA(静的エクスポート)ではミドルウェア自体が動作しないため影響を受けない。認証済みユーザー(PR:L)であれば攻撃が可能であり、認可の壁を越えて他ユーザーのデータにアクセスできる。
- 攻撃ベクター: ネットワーク経由(AV:N)で低い権限(PR:L)から攻撃可能。攻撃複雑度が低く(AC:L)、ユーザー操作も不要(UI:N)であるため、認証済みの攻撃者であれば容易に悪用できる。機密性と整合性の双方に高い影響(C:H/I:H)があるため、データ漏洩と改ざんの両方のリスクがある。
- ランタイム vs ビルドタイム: この脆弱性はランタイムにおけるリクエスト処理の問題であり、ビルドタイムには影響しない。本番環境でミドルウェアが動作している場合にのみ攻撃面が存在する。
参考リンク
情報ソース
| ソース | 取得状況 |
|---|---|
| NVD (NIST) | ❌ 取得不可 |
| GitHub Advisory | ✅ 取得済み |
| Web検索 | ✅ 取得済み |