| title | React Server Components における重大なセキュリティ脆弱性 |
|---|---|
| author | The React Team |
| date | 2025/12/03 |
| description | React Server Components に、未認証でのリモートコード実行の脆弱性があります。バージョン 19.0.1、19.1.2、19.2.1 で修正が公開されました。直ちにアップグレードすることを推奨します。 |
December 3, 2025 by The React Team
React Server Components に、未認証でのリモートコード実行の脆弱性があります。
直ちにアップグレードすることを推奨します。
11 月 29 日、Lachlan Davidson 氏が React のセキュリティ脆弱性を報告しました。これは、React が React Server Function のエンドポイントに送信されたペイロードをデコードする方法の欠陥を悪用することで、未認証でのリモートコード実行を可能にするものです。
アプリが 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, and rwsdk.
アップグレード方法に関する指示が利用可能になり次第、この記事を更新します。
我々は多くのホスティングプロバイダと協力し、一時的な緩和策を適用しました。
アプリの保護をこれらに依存せず、依然として直ちにアップデートすべきです。
React Server Functions を使用すると、クライアントからサーバ上の関数を呼び出すことができます。React は、フレームワークやバンドラが React コードをクライアントとサーバの両方で実行するのを支援するための統合ポイントとツールを提供しています。React はクライアント上のリクエストを HTTP リクエストに変換し、サーバに転送します。サーバ上で、React は HTTP リクエストを関数呼び出しに変換し、必要なデータをクライアントに返します。
認証されていない攻撃者が任意の Server Function エンドポイントに対して悪意のある HTTP リクエストを作成し、React がそれをデシリアライズした際に、サーバ上でリモートコード実行が可能になる恐れがあります。脆弱性の詳細については、修正のロールアウトが完了した後に提供される予定です。
全ユーザは、各リリースラインの最新のパッチ適用済みバージョンにアップグレードすべきです:
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 の不安定版 (unstable) 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@latest緩和策について詳しくは、expo.dev/changelog の記事を参照してください。
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 docs を参照してください。
最新の react-server-dom-webpack にアップグレードしてください:
npm install react@latest react-dom@latest react-server-dom-webpack@latest waku@latestその他の移行手順については Waku のアナウンス を参照してください。
最新の RSC プラグインにアップグレードしてください:
npm install react@latest react-dom@latest @vitejs/plugin-rsc@latest最新バージョンにアップデートしてください:
npm install react@latest react-dom@latest react-server-dom-parcel@latest最新バージョンにアップデートしてください:
npm install react@latest react-dom@latest react-server-dom-turbopack@latest最新バージョンにアップデートしてください:
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 氏に感謝します。