React Server Components における重大なセキュリティ脆弱性
December 3, 2025 by The React Team
React Server Components に、認証不要のリモートコード実行の脆弱性が存在します。
直ちにアップグレードすることを推奨します。
11 月 29 日、Lachlan Davidson 氏が React のセキュリティ脆弱性を報告しました。これは、React Server Function のエンドポイントに送信されたペイロードを React がデコードする際の欠陥を悪用することで、未認証状態でのリモートコード実行を可能にするものです。
アプリが React のサーバ関数 (Server Function) のエンドポイントを実装していない場合でも、React Server Components をサポートしている場合は脆弱性の影響を受ける可能性があります。
この脆弱性は CVE-2025-55182 として公開されており、CVSS スコアは 10.0 です。
以下のパッケージのバージョン 19.0、19.1.0、19.1.1、および 19.2.0 に脆弱性が存在します。
直ちに対応を
バージョン 19.0.1、19.1.2、および 19.2.1 で修正が導入されました。上記のパッケージを使用している場合は、直ちに修正済みバージョンのいずれかにアップグレードしてください。
アプリの React コードがサーバを使用していない場合、この脆弱性の影響は受けません。アプリが React Server Components をサポートするフレームワーク、バンドラ、またはバンドラプラグインを使用していない場合、この脆弱性の影響は受けません。
影響を受けるフレームワークとバンドラ
一部の React フレームワークやバンドラが、脆弱性のある React パッケージに依存しているか、peer dependency として依存しているか、あるいはそれらを含んでいました。影響を受ける React フレームワークやバンドラは以下の通りです:next、react-router、waku、@parcel/rsc、@vitejs/plugin-rsc、rwsdk
アップグレード方法に関する指示が利用可能になり次第、この記事を更新します。
ホスティングプロバイダによる緩和策
我々は多くのホスティングプロバイダと協力し、一時的な緩和策 (mitigation) を適用しています。
ただしアプリの保護のためにこれらに依存しないでください。直ちにアップデートを適用するべきです。
脆弱性の概要
React サーバ関数 を使用すると、クライアントからサーバ上の関数を呼び出すことができます。React コードがクライアントとサーバの両方で実行できるよう、React はフレームワークやバンドラが使用する統合ポイントとツールを提供しています。React はクライアント上で起きたリクエストを HTTP リクエストに変換し、それがサーバに転送されます。サーバ上では、React はこの HTTP リクエストを関数呼び出しに変換して、必要に応じてデータをクライアントに返します。
認証されていない攻撃者が任意のサーバ関数エンドポイントに対して悪意のある HTTP リクエストを作成することで、React がそれをデシリアライズする際に、サーバ上でリモートコード実行が可能になります。脆弱性のさらなる詳細については、修正のロールアウトが完了した後に提供される予定です。
更新手順
Next.js
全ユーザは、各リリースラインの最新のパッチ適用済みバージョンにアップグレードすべきです。
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.xNext.js 14.3.0-canary.77 またはそれ以降の canary リリースを使用している場合は、最新の安定版 14.x リリースにダウングレードしてください。
npm install next@14詳細は Next.js の変更履歴 を参照してください。
React Router
React Router の安定前の RSC API を使用している場合、package.json に以下の依存ライブラリがあればアップグレードが必要です。
npm install react@latest
npm install react-dom@latest
npm install react-server-dom-parcel@latest
npm install react-server-dom-webpack@latest
npm install @vitejs/plugin-rsc@latestExpo
緩和策について詳しくは、expo.dev/changelog の記事を参照してください。
Redwood SDK
rwsdk>=1.0.0-alpha.0 であることを確認してください。
最新のベータ版の場合は以下のようにします。
npm install rwsdk@latest最新の react-server-dom-webpack にアップグレードしてください。
npm install react@latest react-dom@latest react-server-dom-webpack@latestその他の移行手順については Redwood ドキュメントを参照してください。
Waku
最新の react-server-dom-webpack にアップグレードしてください。
npm install react@latest react-dom@latest react-server-dom-webpack@latest waku@latestその他の移行手順については Waku のアナウンス を参照してください。
@vitejs/plugin-rsc
最新の RSC プラグインにアップグレードしてください。
npm install react@latest react-dom@latest @vitejs/plugin-rsc@latestreact-server-dom-parcel
最新バージョンにアップデートしてください。
npm install react@latest react-dom@latest react-server-dom-parcel@latestreact-server-dom-turbopack
最新バージョンにアップデートしてください。
npm install react@latest react-dom@latest react-server-dom-turbopack@latestreact-server-dom-webpack
最新バージョンにアップデートしてください。
npm install react@latest react-dom@latest react-server-dom-webpack@latestタイムライン
- 11 月 29 日: Lachlan Davidson 氏が Meta Bug Bounty を通じて脆弱性を報告。
- 11 月 30 日: Meta のセキュリティ研究者が確認し、React チームと協力して修正作業を開始。
- 12 月 1 日: 修正が作成され、React チームは影響を受けるホスティングプロバイダやオープンソースプロジェクトと協力して修正を検証、緩和策を導入、修正のロールアウトを開始。
- 12 月 3 日: 修正が npm に公開され、CVE-2025-55182 として一般公開。
謝辞
この脆弱性を発見・報告し、修正に協力してくださった Lachlan Davidson 氏に感謝します。