OpenAINext.js2025/12/11 16:00

Next.js Security Update: December 11, 2025

要点だけを先に読めるように短く再構成したセクションです。

元記事

Quick Digest

要約

要点だけを先に読めるように短く再構成したセクションです。

openaijamodel: gpt-5-mini-2025-08-07

Next.js セキュリティ更新:2025年12月11日

Key Points

  • DoS(高)影響あり
  • サーバ関数のソース露出
  • 再アップグレード必須

Summary

React Server Components(RSC)プロトコルに由来する2件の脆弱性が上流のReact実装で報告され、Next.jsのApp Routerを利用するアプリケーションに影響します。いずれもリモートコード実行は発生しませんが、サービス停止(DoS)とサーバ関数のコンパイル済みソース露出を引き起こす可能性があります。初期対策は不完全だったため、CVE-2025-67779による完全な修正が公開されており、以前にアップグレードした場合でも再度最新版へ更新が必要です。Pages Routerは影響を受けませんが、アップグレードを推奨します。

Key Points

  • 影響と深刻度
    • DoS: CVE-2025-55184(高)。不正なリクエストのデシリアライズで無限ループを引き起こしサーバをハングさせる。初期修正は不完全で、完全修正はCVE-2025-67779。
    • ソースコード露出: CVE-2025-55183(中)。不正なリクエストにより他のサーバ関数のコンパイル済みソースが返る可能性がある。コード内に直接埋めたシークレットは露出する可能性あり。
  • 影響範囲
    • App Router + React Server Componentsを使用するNext.jsアプリが対象。Pages Routerは対象外。
  • 必要な対応(短く実務向け)
    • 各リリースラインの最新パッチ済みバージョンに必ずアップグレードしてください。
    • 代表的なアップグレード例:
      • npm install next@14.2.35 (14.x → 14.2.35)
      • npm install next@15.0.7 (15.0.x → 15.0.7)
      • npm install next@15.1.11 (15.1.x → 15.1.11)
      • npm install next@15.2.8 (15.2.x → 15.2.8)
      • npm install next@15.3.8 (15.3.x → 15.3.8)
      • npm install next@15.4.10 (15.4.x → 15.4.10)
      • npm install next@15.5.9 (15.5.x → 15.5.9)
      • npm install next@16.0.10 (16.0.x → 16.0.10)
    • Canaryラインの例: npm install next@15.6.0-canary.60 / npm install next@16.1.0-canary.19
    • 依存関係とバージョン確認・自動更新には npx fix-react2shell-next を利用して検査と決定論的なバージョン更新を行ってください。
  • ワークアラウンド
    • ありません。パッチ済みバージョンへのアップグレードが必須です。
  • 参考
    • Reactの公式ブログと各CVE(CVE-2025-55183、CVE-2025-55184、CVE-2025-67779)、およびNext.jsのアドバイザリを参照してください。

Action checklist(エンジニア向け短縮版)

  • App Routerを使っているか確認
  • 使用中のNext.jsバージョンを確認 (node -e "console.log(require('./package.json').dependencies.next)" など)
  • 対応するパッチ版へアップグレード
  • CIでテストを回し、本番へロールアウト
  • npx fix-react2shell-next の実行で追加確認

Full Translation

翻訳

原文の流れを保ったまま読める翻訳セクションです。

openaijamodel: gpt-5-mini-2025-08-07

Next.js セキュリティ更新: 2025年12月11日

Next.js セキュリティ更新: 2025年12月11日

投稿者: Josh Story (@joshcstory)、Sebastian Markbåge (@sebmarkbage)

React Server Components (RSC) プロトコルに関して、追加で2件の脆弱性が確認されました。これらはセキュリティ研究者が React2Shell のパッチを調査している際に発見されたものです。重要な点として、これらの新しい問題はいずれもリモートコード実行 (RCE) を許すものではありません。React2Shell のパッチは引き続き有効です。

これらの脆弱性は上流の React 実装に起因します(CVE-2025-55183、CVE-2025-55184)。本アドバイザリでは、App Router を使用する Next.js アプリケーションへの下流影響を追跡しています。詳細は React のブログ投稿 を参照してください。

追記: CVE-2025-55184 に対する最初の修正は不完全でした。完全な修正は CVE-2025-67779 として発行されています。以前に最初に推奨されたバージョンにアップグレードした場合は、以下の最新のパッチ適用済みバージョンへ再度アップグレードしてください。

影響

  • サービス拒否 (Denial of Service): CVE-2025-55184(高)

    • 特別に細工された HTTP リクエストを任意の App Router エンドポイントに送信すると、デシリアライズ時に無限ループを引き起こし、サーバプロセスがハングして以降の HTTP リクエストに応答できなくなる可能性があります。
    • 注: この脆弱性に対する初期修正は不完全でした。完全な修正は CVE-2025-67779 として発行されています。以前にアップグレードしたユーザーは、最新のパッチ適用済みバージョンへ再度アップグレードしてください。
  • ソースコード漏洩: CVE-2025-55183(中)

    • 特別に細工された HTTP リクエストにより、ある Server Function がアプリ内の他の Server Function のコンパイル済みソースコードを返してしまう可能性があります。これによりビジネスロジックが露呈する恐れがあります。
    • 秘密情報(シークレット)がコード内に直接定義されていて、ランタイムの環境変数経由ではなく Server Function 内で参照されている場合、それらも露出する可能性があります。バンドラの設定によっては、これらの値がコンパイル済み関数の出力にインライン化されることがあります。

影響を受けるおよび修正済みの Next.js バージョン

VersionDoS (CVE-2025-55184)Source Code Exposure (CVE-2025-55183)Fixed In
>=13.3Upgrade to 14.2.35
14.x14.2.35
15.0.x15.0.7
15.1.x15.1.11
15.2.x15.2.8
15.3.x15.3.8
15.4.x15.4.10
15.5.x15.5.9
15.x canary15.6.0-canary.60
16.0.x16.0.10
16.x canary16.1.0-canary.19

Pages Router を使用するアプリケーションは影響を受けませんが、パッチ適用済みバージョンへのアップグレードを推奨します。

必要な対応

すべてのユーザーは、自分のリリースラインの最新パッチ適用バージョンにアップグレードしてください。

  • Next.js >=13.3、14.0.x、14.1.x を使用している場合は、最新の 14.2.x リリースへアップグレードしてください。

推奨コマンド例:

  • npm install next@14.2.35 # for 14.x
  • npm install next@15.0.7 # for 15.0.x
  • npm install next@15.1.11 # for 15.1.x
  • npm install next@15.2.8 # for 15.2.x
  • npm install next@15.3.8 # for 15.3.x
  • npm install next@15.4.10 # for 15.4.x
  • npm install next@15.5.9 # for 15.5.x
  • npm install next@16.0.10 # for 16.0.x
  • npm install next@15.6.0-canary.60 # for 15.x canary releases
  • npm install next@16.1.0-canary.19 # for 16.x canary releases

npx fix-react2shell-next を実行すると、バージョンをチェックし、上記の推奨バージョンへ決定的にバージョンを更新する対話型ツールが起動します。詳細は GitHub リポジトリを参照してください。

  • npx fix-react2shell-next

回避策はありません。パッチ適用済みバージョンへアップグレードすることが必須です。

リソース

  • CVE-2025-67779 (Complete DoS Fix): React、Next.js
  • CVE-2025-55184 (DoS): React、Next.js
  • CVE-2025-55183 (Source Code Exposure): React、Next.js
  • React blog: "Denial of Service and Source Code Exposure in React Server Components"
  • Previous Security Advisory: CVE-2025-66478

発見

この脆弱性を発見し責任ある開示を行ってくれた RyotaK (GMO Flatt Security Inc.) と Andrew MacPherson に感謝します。

本アドバイザリでは、まだアップグレードしていない開発者を保護するために技術的詳細を意図的に制限しています。