主要なポイント
- CVE-2025-55182は、React Server Componentsにおける深刻なリモートコード実行の脆弱性です。
- Next.jsは、同じ基盤となるFlightプロトコルを使用しているため、関連する識別子CVE-2025-66478を割り当てています。
- 脆弱なバージョンには、複数のReact 19リリースにおけるreact-server-dom-webpack、react-server-dom-parcel、およびreact-server-dom-turbopackが含まれます。
- Next.js、React Router (RSCモード)、Vite RSCプラグイン、Parcel RSCプラグイン、RedwoodSDK、Wakuなどのフレームワークは、これらの脆弱なパッケージをバンドルしています。
- Aikidoは現在、10/10のCVE-2025-55182および関連するNext.js CVE-2025-66478を追跡しています。リポジトリを接続してスキャンしてください。
TLDR: 影響を受ける方法を確認する
Aikidoは現在、CVE-2025-55182および関連するNext.js CVE-2025-66478を追跡しています。リポジトリを接続し、アプリケーションまたはその依存関係に脆弱なReact Server Componentの実装が含まれているかどうかを判断してください。
修正ステップ
1. Reactをアップグレードする
19.0.1、19.1.2、または19.2.1などのパッチ適用済みのReactバージョンをインストールしてください。これらには、強化された入力処理が含まれています。
2. RSCをバンドルするフレームワークをアップグレードする
フレームワークを対応するパッチ適用済みのバージョンに更新してください。
Next.jsユーザーは、メジャーバージョンライン内の最新のパッチ適用済みリリースにアップグレードする必要があります。
14.3.0-canary.77以降のカナリアバージョンを使用している場合は、最新の安定版14.xリリースに戻してください。
3. RSC対応のバンドラーとプラグインを更新する
以下を更新してください。
- Vite RSC プラグイン
- Parcel RSC プラグイン
- React Router RSC プレビュー
- RedwoodSDK
- Waku
それぞれ、修正されたRSC実装を含むバージョンをリリースしています。
4. Aikidoで検証する
アップグレード後、スキャンを実行して以下を確認してください。
- すべての脆弱なバージョンが削除されていること
- 影響を受ける推移的依存関係は残っていません。
- フレームワークとバンドラーの統合が完全にパッチ適用されていること
背景
CVE-2025-55182は、React Server Componentsに影響を与える、認証されていないリモートコード実行の重大な脆弱性です。これは、React Flightプロトコルに依存するより広範なフレームワークエコシステムにも影響を与えます。Next.jsは、同じ根本的な問題に起因するその露出を追跡するためにCVE-2025-66478を割り当てています。
この脆弱性により、特別に細工されたリクエストがサーバーサイドRSC実装内で安全でない逆シリアル化動作を引き起こし、特定の条件下でリモートコード実行につながる可能性があります。これは、Reactバージョン19.0、19.1.0、19.1.1、19.2.0、およびこれらのパッケージを組み込むダウンストリーム統合に影響します。
深掘り
脆弱性の性質
この問題は、React Flightプロトコルにおけるシリアライズされたペイロードの安全でない処理に起因します。不正な形式または悪意のあるペイロードは、意図しない方法でサーバーサイドの実行に影響を与える可能性があります。パッチが適用されたReactバージョンには、より厳格な検証と強化されたデシリアライズ動作が含まれています。
Server Functionsを使用していなくても影響を受ける可能性がある理由
フレームワークは通常、RSC実装をデフォルトで組み込んでいます。そのため、アプリケーションが明示的にServer Functionsを定義していなくても、脆弱性にさらされる可能性があります。統合レイヤー自体が脆弱なコードパスを呼び出す可能性があります。
影響を受けるバージョン
Reactバージョン19.0、19.1.0、19.1.1、および19.2.0に脆弱性があります。
Next.jsバージョン14.3.0-canary.77以降、およびパッチ適用前のすべての15.xおよび16.xリリースは、RSC実装を使用しているため影響を受けます。
ホスティング環境に関する注意
Vercelは、ユーザーがアップグレードする間の露出を減らすためにリクエスト層の保護を実装しましたが、これらは脆弱性を修正するものではありません。すべてのユーザーは、できるだけ早くパッチが適用されたバージョンに更新する必要があります。
深刻度
CVEスコア: 10.0 Critical
影響: リモートコード実行
攻撃ベクトル: リモートかつ認証不要
タイムライン
11月29日:脆弱性が報告される
11月30日:確認と修正開発
12月1日:フレームワークメンテナーおよびホスティングプロバイダーとの連携
12月3日:公開パッチがリリースされ、CVEが公開される
概念実証(提供: @maple3142)
以下の概念実証ビデオは、@maple3142がXで最初に公開したもので、特別に細工されたマルチパートリクエストが、影響を受けるReactおよびNext.jsのバージョンにおける安全でないデシリアライゼーションをどのようにエクスプロイトできるかを示しています。全ての功績は原著者に帰属します。
概念実証の全編動画を見る こちら.
研究者は、RSCのデシリアライズロジックを操作することで、攻撃者が Chunk.prototype.then 解決パスを制御し、Blobのデシリアライズ中に攻撃者によって制御されたロジックが実行されることを実証しました。完全な技術的詳細は、GitHub Gistで公開されている元のPOCで確認できます。 GitHub Gist @maple3142による。
今すぐコードベースをスキャンします。
Aikidoは、サポートされているすべてのエコシステムでCVE-2025-55182およびCVE-2025-66478を追跡します。リポジトリを接続してフルスキャンを実行し、露出を迅速に評価してください。Aikidoをこちらから無料で開始してください。
参照
React Team. CVE-2025-55182 の開示
CVE-2025-55182 および CVE-2025-66478 に関するVercelセキュリティ通知

