Skip to content

Latest commit

 

History

History
168 lines (104 loc) · 8.65 KB

File metadata and controls

168 lines (104 loc) · 8.65 KB
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 に脆弱性が存在します:

直ちに対応が必要です {/immediate-action-required/}

バージョン 19.0.1, 19.1.2, および 19.2.1 で修正が導入されました。上記のパッケージを使用している場合は、直ちに修正済みバージョンのいずれかにアップグレードしてください。

アプリの React コードがサーバを使用していない場合、この脆弱性の影響は受けません。アプリが React Server Components をサポートするフレームワーク、バンドラ、またはバンドラプラグインを使用していない場合、この脆弱性の影響は受けません。

影響を受けるフレームワークとバンドラ {/affected-frameworks-and-bundlers/}

一部の React フレームワークやバンドラは、脆弱性のある React パッケージに依存しているか、ピア依存 (peer dependency) しているか、あるいはそれらを含んでいました。以下の React フレームワークおよびバンドラが影響を受けます:next, react-router, waku, @parcel/rsc, @vitejs/plugin-rsc, and rwsdk.

アップグレード方法に関する指示が利用可能になり次第、この記事を更新します。

ホスティングプロバイダによる緩和策 {/hosting-provider-mitigations/}

我々は多くのホスティングプロバイダと協力し、一時的な緩和策を適用しました。

アプリの保護をこれらに依存せず、依然として直ちにアップデートすべきです。

脆弱性の概要 {/vulnerability-overview/}

React Server Functions を使用すると、クライアントからサーバ上の関数を呼び出すことができます。React は、フレームワークやバンドラが React コードをクライアントとサーバの両方で実行するのを支援するための統合ポイントとツールを提供しています。React はクライアント上のリクエストを HTTP リクエストに変換し、サーバに転送します。サーバ上で、React は HTTP リクエストを関数呼び出しに変換し、必要なデータをクライアントに返します。

認証されていない攻撃者が任意の Server Function エンドポイントに対して悪意のある HTTP リクエストを作成し、React がそれをデシリアライズした際に、サーバ上でリモートコード実行が可能になる恐れがあります。脆弱性の詳細については、修正のロールアウトが完了した後に提供される予定です。

更新手順 {/update-instructions/}

Next.js {/update-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.x

Next.js 14.3.0-canary.77 またはそれ以降の canary リリースを使用している場合は、最新の安定版 14.x リリースにダウングレードしてください:

npm install next@14

詳細は Next.js の変更履歴 を参照してください。

React Router {/update-react-router/}

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 {/expo/}

緩和策について詳しくは、expo.dev/changelog の記事を参照してください。

Redwood SDK {/update-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 docs を参照してください。

Waku {/update-waku/}

最新の react-server-dom-webpack にアップグレードしてください:

npm install react@latest react-dom@latest react-server-dom-webpack@latest waku@latest

その他の移行手順については Waku のアナウンス を参照してください。

@vitejs/plugin-rsc {/vitejs-plugin-rsc/}

最新の RSC プラグインにアップグレードしてください:

npm install react@latest react-dom@latest @vitejs/plugin-rsc@latest

react-server-dom-parcel {/update-react-server-dom-parcel/}

最新バージョンにアップデートしてください:

npm install react@latest react-dom@latest react-server-dom-parcel@latest

react-server-dom-turbopack {/update-react-server-dom-turbopack/}

最新バージョンにアップデートしてください:

npm install react@latest react-dom@latest react-server-dom-turbopack@latest

react-server-dom-webpack {/update-react-server-dom-webpack/}

最新バージョンにアップデートしてください:

npm install react@latest react-dom@latest react-server-dom-webpack@latest

タイムライン {/timeline/}

  • 11 月 29 日: Lachlan Davidson 氏が Meta Bug Bounty を通じて脆弱性を報告しました。
  • 11 月 30 日: Meta のセキュリティ研究者が確認し、React チームと協力して修正作業を開始しました。
  • 12 月 1 日: 修正が作成され、React チームは影響を受けるホスティングプロバイダやオープンソースプロジェクトと協力して修正を検証し、緩和策を実施して修正のロールアウトを開始しました。
  • 12 月 3 日: 修正が npm に公開され、CVE-2025-55182 として一般公開されました。

謝辞 {/attribution/}

この脆弱性を発見・報告し、修正に協力してくれた Lachlan Davidson 氏に感謝します。