Next.js セキュリティアップデート: 2025年12月11日
2025年12月11日木曜日
投稿者: Josh Story @ joshcstory, Sebastian Markbåge @ sebmarkbage
React Server Components (RSC) プロトコルにおいて、2つの追加の脆弱性が特定されました。これらの問題は、セキュリティ研究者がReact2Shellのパッチを調査している際に発見されました。重要なことに、これらの新しい問題はいずれもリモートコード実行を許可するものではありません。React2Shellのパッチは完全に有効です。
これらの脆弱性は、上流のReact実装に起因しています(CVE-2025-55183、CVE-2025-55184)。この勧告は、App Routerを使用するNext.jsアプリケーションへの下流への影響を追跡しています。詳細については、Reactブログ投稿をご覧ください。
追記: CVE-2025-55184の初期修正は不完全でした。CVE-2025-67779の下で完全な修正が発行されました。以前に最初に推奨されたバージョンのいずれかにアップグレードした場合は、以下にリストされている最新のパッチ適用バージョンに再度アップグレードしてください。
影響
サービス拒否攻撃: CVE-2025-55184(高重要度)
特別に細工されたHTTPリクエストを任意のApp Routerエンドポイントに送信することで、デシリアライズ時に無限ループを引き起こし、サーバープロセスをハングさせ、将来のHTTPリクエストの処理を阻止する可能性があります。
注意: この脆弱性の初期修正は不完全でした。CVE-2025-67779の下で完全な修正が発行されました。以前にアップグレードしたユーザーは、最新のパッチ適用バージョンに再度アップグレードする必要があります。
ソースコード露出: CVE-2025-55183(中重要度)
特別に細工されたHTTPリクエストにより、Server Functionがアプリケーション内の他のServer Functionのコンパイル済みソースコードを返す可能性があります。これによりビジネスロジックが露出する可能性があります。
秘密情報も、(実行時に環境変数経由でアクセスするのではなく)コード内で直接定義され、Server Function内で参照されている場合に露出する可能性があります。バンドラー設定によっては、これらの値がコンパイル済み関数出力にインライン化される場合があります。
影響を受けるNext.jsバージョンと修正バージョン
App RouterでReact Server Componentsを使用するアプリケーションが影響を受けます。以下の表は、各脆弱性の影響を受けるバージョンと対応する修正を示しています:
| バージョン | DoS (CVE-2025-55184) | ソースコード露出 (CVE-2025-55183) | 修正バージョン |
|---|
| >=13.3 | ✓ | — | 14.2.35にアップグレード |
| 14.x | ✓ | — | 14.2.35 |
| 15.0.x | ✓ | ✓ | 15.0.7 |
| 15.1.x | ✓ | ✓ | 15.1.11 |
| 15.2.x | ✓ | ✓ | 15.2.8 |
| 15.3.x | ✓ | ✓ | 15.3.8 |
| 15.4.x | ✓ | ✓ | 15.4.10 |
| 15.5.x | ✓ | ✓ | 15.5.9 |
| 15.x canary | ✓ | ✓ | 15.6.0-canary.60 |
| 16.0.x | ✓ | ✓ | 16.0.10 |
| 16.x canary | ✓ | ✓ | 16.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
npm install next@15.0.7
npm install next@15.1.11
npm install next@15.2.8
npm install next@15.3.8
npm install next@15.4.10
npm install next@15.5.9
npm install next@16.0.10
npm install next@15.6.0-canary.60
npm install next@16.1.0-canary.19
npx fix-react2shell-nextを実行して、バージョンをチェックし、上記の推奨バージョンに従って確定的なバージョンアップを実行できるインタラクティブツールを起動してください。詳細については、GitHubリポジトリをご覧ください。
npx fix-react2shell-next
回避策はありません。パッチ適用バージョンへのアップグレードが必要です。
リソース
発見
これらの脆弱性を発見し、責任を持って開示してくださったGMO Flatt Security Inc.のRyotaK氏とAndrew MacPherson氏に感謝いたします。
まだアップグレードしていない開発者を保護するため、この勧告では技術的詳細を意図的に制限しています。