Next.js の脆弱性レポート(CVE-2026-44576)
調査日: 2026-05-09 ステータス: Published (GitHub Advisory: Reviewed 2026-05-06)
概要
Next.js の React Server Components(RSC)レスポンスにおいて、元の URL から提供された RSC レスポンスが共有キャッシュのエントリを汚染し、後続の訪問者が HTML ではなくコンポーネントペイロードを受け取る、キャッシュポイズニングの脆弱性が存在する。
基本情報
| 項目 | 内容 |
|---|---|
| CVE ID | CVE-2026-44576 |
| GHSA ID | GHSA-wfc6-r584-vfw7 |
| CVSS v3.1 スコア | 5.4 (Moderate) |
| CVSS ベクター | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:L |
| CWE | 情報なし |
| 公開日 | 2026-05-06 |
| 最終更新日 | 2026-05-06 |
影響を受けるソフトウェア
Next.js (npm)
- ベンダー: Vercel
- 影響バージョン:
>= 14.2.0, < 15.5.16/>= 16.0.0, < 16.2.5 - 修正バージョン: 15.5.16 / 16.2.5
脆弱性の詳細
Next.js の App Router において、RSC(React Server Components)レスポンスが元の URL パスで提供される際、共有キャッシュ(CDN 等)のエントリを汚染できる問題が存在した。通常、RSC レスポンスは特別なヘッダーやパラメータを含むリクエストに対してのみ返されるべきだが、キャッシュキーの分離が不十分であったため、攻撃者が RSC フォーマットのレスポンスを通常の URL パスのキャッシュエントリとして保存させることが可能であった。その結果、後続の訪問者が同一 URL にアクセスした際に、期待される HTML ページではなく RSC ペイロード(バイナリ/テキスト形式のコンポーネントデータ)が返され、ページが正常に表示されなくなる。整合性と可用性の双方に影響がある(I:L/A:L)。この脆弱性は Next.js アプリケーションの前段に共有キャッシュ(CDN)が配置されている場合にのみ影響する。
対策・推奨事項
- Next.js を 15.5.16 以降または 16.2.5 以降にアップグレードする
- RSC レスポンスと通常の HTML レスポンスのキャッシュキーが適切に分離される修正が含まれている
- アップグレードが即座にできない場合、CDN のキャッシュルールで RSC 関連のヘッダー(
RSC、Next-Router-State-Tree等)を Vary ヘッダーに含めるか、RSC リクエストのキャッシュを無効化する - CDN を使用していない場合は直接的な影響はないが、予防的にアップグレードを推奨
フロントエンド影響分析
Next.js はフロントエンドフレームワークであり、このセクションは必須。
| 構成 | 影響度 | 対処要否 | 備考 |
|---|---|---|---|
| SPA(クライアントサイドのみ) | ⚪ なし | 対処不要 | 静的エクスポートでは RSC が存在しない |
| SSR(サーバーサイドレンダリング) | 🟡 中 | 要確認 | 共有キャッシュ(CDN)を使用しているデプロイメントのみ影響を受け、攻撃複雑度が高い(AC:H) |
判定の考え方
- ブラウザのセキュリティ境界: この脆弱性は CDN キャッシュレイヤーにおけるレスポンス汚染の問題であり、ブラウザの Same-Origin Policy や CORS では防止できない。ブラウザはキャッシュから提供された RSC ペイロードを正常な HTML として解釈できず、ページが破損した状態で表示される。
- 実行環境: RSC は Next.js サーバー上でランタイムに実行され、そのレスポンスが CDN にキャッシュされる際に問題が発生する。SPA(静的エクスポート)では RSC が存在しないため影響を受けない。CDN を前段に配置していない SSR 環境でも直接的な影響はない。
- 攻撃ベクター: 認証不要(PR:N)でネットワーク経由(AV:N)から攻撃可能だが、攻撃複雑度が高い(AC:H)。共有キャッシュの存在が前提条件であり、キャッシュの動作に依存するため攻撃の再現性は環境に依存する。スコープ変更(S:C)により、キャッシュを共有する他のユーザーにも影響が波及する。
- ランタイム vs ビルドタイム: この脆弱性はランタイムにおける RSC レスポンスの提供とキャッシュ制御の問題であり、ビルドタイムには影響しない。本番環境で CDN の背後に App Router が配置されている場合にのみ攻撃面が存在する。
参考リンク
情報ソース
| ソース | 取得状況 |
|---|---|
| NVD (NIST) | ❌ 取得不可 |
| GitHub Advisory | ✅ 取得済み |
| Web検索 | ✅ 取得済み |