Next.js の脆弱性レポート(CVE-2026-44579)
調査日: 2026-05-09 ステータス: Published (GitHub Advisory: Reviewed 2026-05-06)
概要
Next.js の Partial Prerendering(PPR)機能を使用しているアプリケーションにおいて、細工された POST リクエストによりリクエストボディの処理がデッドロックし、ファイルディスクリプタおよびサーバーリソースを枯渇させるサービス拒否(DoS)の脆弱性が存在する。
基本情報
| 項目 | 内容 |
|---|---|
| CVE ID | CVE-2026-44579 |
| GHSA ID | GHSA-mg66-mrh9-m8jx |
| CVSS v3.1 スコア | 7.5 (High) |
| CVSS ベクター | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| CWE | 情報なし |
| 公開日 | 2026-05-06 |
| 最終更新日 | 2026-05-06 |
影響を受けるソフトウェア
Next.js (npm)
- ベンダー: Vercel
- 影響バージョン:
>= 15.0.0, < 15.5.16/>= 16.0.0, < 16.2.5 - 修正バージョン: 15.5.16 / 16.2.5
脆弱性の詳細
Next.js の Partial Prerendering(PPR)機能を有効にしているアプリケーションにおいて、細工された POST リクエストを送信することでリクエストボディの処理がデッドロック状態に陥る脆弱性が存在した。デッドロックにより、接続が解放されずファイルディスクリプタが枯渇し、最終的にサーバーが新規接続を受け付けられなくなる。攻撃者は認証不要で、繰り返しリクエストを送信することでサーバーのリソースを完全に消費させることができる。回避策として、エッジレベル(CDN やリバースプロキシ)で Next-Resume ヘッダーを含むリクエストをブロックすることが有効である。
対策・推奨事項
- Next.js を 15.5.16 以降または 16.2.5 以降にアップグレードする
- PPR のリクエストボディ処理におけるデッドロックが修正されている
- アップグレードが即座にできない場合、エッジ(CDN やリバースプロキシ)で
Next-Resumeヘッダーを含むリクエストをブロックする回避策を適用する - PPR を使用していない場合は直接的な影響はないが、予防的にアップグレードを推奨
フロントエンド影響分析
Next.js はフロントエンドフレームワークであり、このセクションは必須。
| 構成 | 影響度 | 対処要否 | 備考 |
|---|---|---|---|
| SPA(クライアントサイドのみ) | ⚪ なし | 対処不要 | 静的エクスポートでは PPR が存在しない |
| SSR(サーバーサイドレンダリング) | 🔴 高 | 要対処 | リソース枯渇による DoS が認証不要で成立する |
判定の考え方
- ブラウザのセキュリティ境界: この脆弱性はサーバーサイドのリクエストボディ処理の問題であり、ブラウザのセキュリティ機能とは無関係に攻撃が成立する。攻撃者は curl 等の HTTP クライアントから
Next-Resumeヘッダー付きの POST リクエストを直接サーバーに送信できる。 - 実行環境: PPR は Next.js サーバー上でランタイムに動作するストリーミングレンダリング機能であり、SSR 構成でのみ影響がある。SPA(静的エクスポート)ではサーバーサイド処理が存在しないため影響を受けない。PPR は Next.js 15 以降の機能であるため、v15 未満のバージョンでは影響範囲外である。
- 攻撃ベクター: 認証不要(PR:N)でネットワーク経由(AV:N)から攻撃可能であり、攻撃複雑度も低い(AC:L)。デッドロックによる接続枯渇は単一リクエストでも影響があるが、複数のリクエストにより確実にサーバーを停止させることができる。可用性への影響が高い(A:H)。
- ランタイム vs ビルドタイム: この脆弱性はランタイムにおける PPR のリクエスト処理の問題であり、ビルドタイムには影響しない。PPR を有効にして本番環境でサーバーが稼働している場合にのみ攻撃面が存在する。
参考リンク
情報ソース
| ソース | 取得状況 |
|---|---|
| NVD (NIST) | ❌ 取得不可 |
| GitHub Advisory | ✅ 取得済み |
| Web検索 | ✅ 取得済み |