公開情報
- 公開日: 2025-12-03T16:00:00.000Z
- 投稿者: Josh Story (@joshcstory), Sebastian Markbåge (@sebmarkbage)
更新情報
- 2025-12-06 21:05 PST: 2025年12月4日 13:00 PT 時点でオンラインかつ未パッチのアプリケーションをお使いの場合は、最も重要なシークレットから順に、使用している全てのシークレットをローテーションすることを強く推奨します。
- 2025-12-06 07:29 PST: 影響を受ける Next.js アプリを更新するための npm パッケージがリリースされました。今すぐ
npx fix-react2shell-next を実行して更新するか、詳細は GitHub リポジトリをご確認ください。
概要
React Server Components (RSC) プロトコルに重大な脆弱性が特定されました。本件は CVSS 10.0 と評価され、攻撃者が操作したリクエストを処理する未修正環境でリモートコード実行 (RCE) を引き起こす可能性があります。脆弱性は上流の React 実装に起因します(CVE-2025-55182)。本アドバイザリ(CVE-2025-66478)は App Router を使用する Next.js アプリケーションへの下流影響を追跡しています。
影響
脆弱な RSC プロトコルにより、信頼されていない入力がサーバー側の実行挙動に影響を与える可能性があり、特定条件下で攻撃者が意図しないサーバー実行パスを誘発するリクエストを作成できる可能性があります。未修正環境ではリモートコード実行につながる恐れがあります。すべての利用者は直ちにパッチ適用済みバージョンへのアップグレードを行ってください。具体的な手順は「必要な対応」を参照してください。
影響を受ける Next.js バージョン
App Router で React Server Components を使用しているアプリケーションが対象です。影響を受ける実行環境は次の通りです:
- Next.js 15.x
- Next.js 16.x
- Next.js 14.3.0-canary.77 以降の canary リリース
次は影響を受けません:
- Next.js 13.x
- Next.js 14.x(安定版)
- Pages Router を使うアプリケーション
- Edge Runtime
修正済みバージョン
本脆弱性は次の Next.js リリースで完全に修正されています:
- 15.0.5
- 15.1.9
- 15.2.6
- 15.3.6
- 15.4.8
- 15.5.7
- 16.0.7
また、次の canary リリースでもパッチを提供しています:
- 15.6.0-canary.58(15.x の canary)
- 16.1.0-canary.12(16.x の canary)
これらのバージョンには強化された React Server Components 実装が含まれます。
必要な対応
すべての利用者は、自身のリリースラインで最新の修正済みバージョンにアップグレードしてください。例:
-
npm install next@15.0.5 # for 15.0.x
-
npm install next@15.1.9 # for 15.1.x
-
npm install next@15.2.6 # for 15.2.x
-
npm install next@15.3.6 # for 15.3.x
-
npm install next@15.4.8 # for 15.4.x
-
npm install next@15.5.7 # for 15.5.x
-
npm install next@16.0.7 # for 16.0.x
-
npm install next@15.6.0-canary.58 # for 15.x canary releases
-
npm install next@16.1.0-canary.12 # for 16.x canary releases
-
Next.js 14.3.0-canary.77 以降の canary を使用している場合は、最新の安定した 14.x へダウングレードしてください:
PPR を有効にするために canary を利用している場合は、問題を修正しつつ PPR をサポートし続ける 15.6.0-canary.58 へ更新できます。
他の古いバージョンをパッチする方法については、このディスカッションポストを参照してください。
インタラクティブな検査と決定論的なバージョン更新を行うには次を実行してください:
完全な詳細は GitHub リポジトリを参照してください。回避策はありません — 修正済みバージョンへのアップグレードが必須です。
環境変数(シークレット)のローテーション
バージョンをパッチ適用してアプリケーションを再デプロイした後、アプリケーションのすべてのシークレットのローテーションを推奨します。環境変数の取り扱いに関するドキュメントを参照してください。
参考情報
- Security advisories: React (CVE-2025-55182)、Next.js (CVE-2025-66478)
- React blog: Critical Security Vulnerability in React Server Components
- Vercel Knowledge Base: React2Shell Security Bulletin
- Netlify Blog: Netlify's response to the critical React security vulnerability
- AWS Security Blog: China-nexus cyber threat groups rapidly exploit React2Shell vulnerability
- Google Cloud Blog: Responding to CVE-2025-55182: Secure your React and Next.js workloads
- Fastly Blog: Fastly's Proactive Protection for React2Shell, Critical React RCE CVE-2025-55182 and CVE-2025-66478
- Akamai Blog: CVE-2025-55182: React and Next.js Server Functions Deserialization RCE
発見と注意事項
本脆弱性を発見し責任ある開示を行ってくれた Lachlan Davidson に感謝します。
本アドバイザリでは、まだアップグレードしていない開発者を保護するために技術的詳細を意図的に制限しています。詳細は上記の公式アドバイザリやリポジトリを参照してください。