OpenAIReactDec 3, 2025, 12:00 AM

Critical Security Vulnerability in React Server Components

A condensed section focused on the key takeaways first.

Original Post

Quick Digest

Summary

A condensed section focused on the key takeaways first.

openaienmodel: gpt-5-mini-2025-08-07

Critical Security Vulnerability in React Server Components

Key Points

  • Unauthenticated RCE in React Server Components (CVE-2025-55182)
  • CVSS 10.0 — upgrade react-server-dom-* to fixed versions immediately
  • Fixed in react-server-dom-* 19.0.1, 19.1.2, 19.2.1

Summary

There is an unauthenticated remote code execution (RCE) vulnerability in React Server Components disclosed as CVE-2025-55182 (CVSS 10.0). The flaw affects how React decodes payloads sent to React Server Function endpoints and allows an attacker to craft a malicious request that may achieve RCE on servers exposing Server Function endpoints. The issue was reported on 2025-11-29 and publicly disclosed on 2025-12-03 after fixes were published.

Key Points

  • Affected packages and vulnerable versions

    • react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack in versions 19.0, 19.1.0, 19.1.1, and 19.2.0 are vulnerable.
  • Fixed versions (upgrade immediately)

    • Upgrade to any fixed release in your release line: 19.0.1, 19.1.2, or 19.2.1 depending on the series you use.
    • Example (pick the fixed version that matches your minor series):
      • npm install react-server-dom-webpack@19.0.1 react-server-dom-parcel@19.0.1 react-server-dom-turbopack@19.0.1
  • Frameworks and bundlers impacted

    • Some frameworks/bundlers that depend on or include the vulnerable packages are affected (notably Next.js, react-router RSC APIs, waku, @parcel/rsc, @vitejs/plugin-rsc, rwsdk). Upgrade those projects per their published advisories.
    • Next.js users: upgrade to the patched release for your release line as documented by the Next.js team.
  • Mitigations and scope

    • If your app does not use a server (no Server Functions) or does not use a framework/bundler that supports React Server Components, you are not affected.
    • Hosting-provider mitigations were applied by some providers but should not be relied on; update dependencies immediately.
  • Additional notes

    • Follow-up advisories added other CVEs (DoS and source-code exposure) in later updates; check the React security blog for the full, updated guidance and timelines.

Recommended Action Plan (for engineers)

  • Audit: identify any installs of react-server-dom-webpack, react-server-dom-parcel, or react-server-dom-turbopack in your projects, monorepos, and transitive deps.
  • Upgrade: update the vulnerable packages to the corresponding fixed versions (19.0.1, 19.1.2, or 19.2.1) and update affected frameworks/bundlers per vendor guidance.
  • Test & Deploy: run tests, validate Server Function endpoints, and deploy the patched versions quickly.
  • Monitor: review your hosting provider notices and the React security blog for further technical details released after the fix rollout.

Full Translation

Translations

A translation section that keeps the flow of the original article.

openaijamodel: gpt-5-mini-2025-08-07

React Server Componentsにおける重大なセキュリティ脆弱性

React Server Componentsにおける重大なセキュリティ脆弱性

公開日: 2025-12-03 著者: The React Team

重大:React Server Componentsに未認証のリモートコード実行(RCE)脆弱性が存在します。直ちにアップグレードすることを強く推奨します。

概要

  • 2025年11月29日、Lachlan Davidson氏が、ReactがReact Server Functionエンドポイントに送られるペイロードをデコードする方法の欠陥を悪用することで、未認証のリモートコード実行を可能にするセキュリティ脆弱性を報告しました。
  • アプリがReact Server Functionエンドポイントを実装していない場合でも、React Server Componentsをサポートしていると脆弱になる可能性があります。
  • この脆弱性はCVE-2025-55182として公開され、CVSSは10.0と評価されています。

影響のあるパッケージとバージョン

脆弱性は以下のパッケージの次のバージョンに存在します。

  • react-server-dom-webpack — 19.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-parcel — 19.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-turbopack — 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パッケージに依存、peerDependenciesを持つ、またはそれらを含んでいました。影響を受ける主なプロジェクトは次のとおりです。

  • next
  • react-router
  • waku
  • @parcel/rsc
  • @vitejs/plugin-rsc
  • rwsdk

下の「Update Instructions」で各プロジェクトのアップグレード方法を確認してください。

ホスティングプロバイダの緩和策

複数のホスティングプロバイダと協力して一時的な緩和策を適用しました。ただし、これらに依存せず、必ず直ちに自分のアプリをアップデートしてください。

脆弱性の概要

React Server Functionsは、クライアントがサーバー上の関数を呼び出すことを可能にします。Reactはフレームワークやバンドラーがクライアントとサーバーの両方でReactコードを実行できるようにするための統合ポイントとツールを提供します。

  • クライアント側では、ReactはリクエストをHTTPリクエストに変換してサーバーに転送します。
  • サーバー側では、ReactはHTTPリクエストを関数呼び出しに変換し、クライアントに必要なデータを返します。

未認証の攻撃者は、任意のServer Functionエンドポイントに対して悪意あるHTTPリクエストを作成し、それがReactによってデシリアライズされるとサーバー上でリモートコード実行が可能になる恐れがあります。

修正の展開が完了するまで、脆弱性の詳細は公開されません。

更新手順(Update Instructions)

注:これらの手順は以下の新しい脆弱性も含むように更新されています:

  • Denial of Service - High Severity: CVE-2025-55184 と CVE-2025-67779(CVSS 7.5)
  • Source Code Exposure - Medium Severity: CVE-2025-55183(CVSS 5.3)
  • Denial of Service - High Severity: 2026-01-26 CVE-2026-23864(CVSS 7.5)

詳細はフォローアップのブログ記事を参照してください。(更新:2026年1月26日)

Next.js

すべてのユーザーは自分のリリースラインで最新の修正済みバージョンにアップグレードしてください。

  • npm install next@14.2.35 // for 13.3.x, 13.4.x, 13.5.x, 14.x
  • npm install next@15.0.8 // for 15.0.x
  • npm install next@15.1.12 // for 15.1.x
  • npm install next@15.2.9 // for 15.2.x
  • npm install next@15.3.9 // for 15.3.x
  • npm install next@15.4.11 // for 15.4.x
  • npm install next@15.5.10 // for 15.5.x
  • npm install next@16.0.11 // for 16.0.x
  • npm install next@16.1.5 // for 16.1.x
  • Canary: npm install next@15.6.0-canary.60 // for 15.x canary releases
  • Canary: npm install next@16.1.0-canary.19 // for 16.x canary releases

推奨されている修正済みバージョンの一覧: 15.0.8, 15.1.12, 15.2.9, 15.3.9, 15.4.10, 15.5.10, 15.6.0-canary.61, 16.0.11, 16.1.5

  • Next.js 13 の 13.3 以降(13.3.x、13.4.x、13.5.x)を使用している場合は、14.2.35 にアップグレードしてください。
  • next@14.3.0-canary.77 以降の canary を使用している場合は、最新の安定した 14.x リリースにダウングレードしてください:npm install next@14

最新の更新手順と詳細は Next.js ブログと変更ログを参照してください。

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.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 本体もアップデートしてください: npm install waku@latest
  • 詳細は Waku のアナウンスを参照してください。

@vitejs/plugin-rsc

  • RSC プラグインを更新してください: npm install react@latest react-dom@latest @vitejs/plugin-rsc@latest

react-server-dom-parcel

  • 最新版に更新してください: npm install react@latest react-dom@latest react-server-dom-parcel@latest

react-server-dom-turbopack

  • 最新版に更新してください: npm install react@latest react-dom@latest react-server-dom-turbopack@latest

react-server-dom-webpack

  • 最新版に更新してください: npm install react@latest react-dom@latest react-server-dom-webpack@latest

React Native

  • React Native をモノレポや react-dom を使わずに単独で使用している場合、package.jsonreact のバージョンを固定していれば追加の手順は不要です。
  • モノレポで React Native を使用している場合、影響を受けるパッケージがインストールされているなら、次のパッケージのみを更新してください:
    • react-server-dom-webpack
    • react-server-dom-parcel
    • react-server-dom-turbopack

これらの更新はセキュリティアドバイザリの緩和に必要ですが、reactreact-dom を更新する必要はないため、React Nativeでのバージョン不一致エラーを引き起こしません。詳細は該当のIssueを参照してください。

タイムライン

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

謝辞

この脆弱性の発見、報告、修正支援に関して Lachlan Davidson 氏に感謝します。


前回の「Denial of Service」と「Source Code Exposure」に関する案内、および「React Conf 2025 Recap」については元記事のリンクとフォローアップ記事を参照してください。