Skip to content
catch-all-favorite
Esc
navigateopen⌘Jpreview
On this page

Next.js の脆弱性レポート(CVE-2026-44582)

調査日: 2026-05-09 ステータス: Published (GitHub Advisory: Reviewed 2026-05-06)

概要

Next.js の RSC キャッシュバスティング値(_rsc)において弱いハッシュアルゴリズムが使用されており、実用的に可能な衝突によりキャッシュエントリを汚染できる脆弱性が存在する。共有キャッシュにおけるレスポンスの分離が不十分な環境で影響がある。

基本情報

項目 内容
CVE ID CVE-2026-44582
GHSA ID GHSA-vfv6-92ff-j949
CVSS v3.1 スコア 3.7 (Low)
CVSS ベクター CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
CWE CWE-328: Use of Weak Hash
公開日 2026-05-06
最終更新日 2026-05-06

影響を受けるソフトウェア

Next.js (npm)

  • ベンダー: Vercel
  • 影響バージョン: >= 13.4.6, < 15.5.16 / >= 16.0.0, < 16.2.5
  • 修正バージョン: 15.5.16 / 16.2.5

脆弱性の詳細

Next.js の App Router では、RSC(React Server Components)レスポンスのキャッシュを制御するために _rsc クエリパラメータがキャッシュバスティング値として使用される。この値の生成に弱いハッシュアルゴリズムが使用されていたため、異なるリクエストに対して同一の _rsc 値が生成される衝突(コリジョン)が実用的に可能であった。共有キャッシュ(CDN)において _rsc パラメータをキャッシュキーの一部として使用しているが、レスポンスの十分な分離(パーティショニング)が行われていない環境では、攻撃者がコリジョンを利用してキャッシュエントリを汚染し、他のユーザーに意図しないコンテンツを提供させることが可能であった。整合性のみに影響があり(I:L)、機密性や可用性への影響はない。

対策・推奨事項

  • Next.js を 15.5.16 以降または 16.2.5 以降にアップグレードする
  • より強力なハッシュアルゴリズムが _rsc キャッシュバスティング値の生成に使用されるようになる修正が含まれている
  • アップグレードが即座にできない場合、CDN のキャッシュ設定でレスポンスの十分な分離(Vary ヘッダーの適切な設定等)を確認する
  • 共有キャッシュを使用していない環境では直接的な影響はない

フロントエンド影響分析

Next.js はフロントエンドフレームワークであり、このセクションは必須。

構成 影響度 対処要否 備考
SPA(クライアントサイドのみ) ⚪ なし 対処不要 静的エクスポートでは RSC が存在しない
SSR(サーバーサイドレンダリング) 🟢 低 要確認 攻撃複雑度が高く(AC:H)、共有キャッシュの存在が前提条件、整合性のみの影響

判定の考え方

  1. ブラウザのセキュリティ境界: この脆弱性は CDN キャッシュレイヤーにおけるキャッシュキーの衝突の問題であり、ブラウザの Same-Origin Policy や CORS では防止できない。ブラウザはキャッシュから提供されるレスポンスを信頼するため、汚染されたキャッシュエントリが返された場合にそのまま処理してしまう。
  2. 実行環境: RSC のキャッシュバスティング値は Next.js サーバー上でランタイムに生成され、CDN がそれをキャッシュキーの一部として使用する。SPA(静的エクスポート)では RSC が存在しないため影響を受けない。SSR 環境でも共有キャッシュを使用していない場合は影響が限定的である。
  3. 攻撃ベクター: 認証不要(PR:N)でネットワーク経由(AV:N)から攻撃可能だが、攻撃複雑度が高い(AC:H)。ハッシュコリジョンの生成と、共有キャッシュの存在が前提条件であるため、攻撃の実行には高度な知識と特定の環境条件が必要である。影響は整合性のみ(I:L)に限定される。
  4. ランタイム vs ビルドタイム: この脆弱性はランタイムにおけるキャッシュバスティング値の生成に使用されるハッシュアルゴリズムの問題であり、ビルドタイムには影響しない。本番環境で CDN を使用してキャッシュを行っている場合にのみ攻撃面が存在する。

参考リンク

情報ソース

ソース 取得状況
NVD (NIST) ❌ 取得不可
GitHub Advisory ✅ 取得済み
Web検索 ✅ 取得済み

Was this page helpful?