OpenAIReact2025/12/03 0:00

Critical Security Vulnerability in React Server Components

要点だけを先に読めるように短く再構成したセクションです。

元記事

Quick Digest

要約

要点だけを先に読めるように短く再構成したセクションです。

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

React Server Components の重大なセキュリティ脆弱性

Key Points

  • 重大(CVSS 10.0)
  • 即時アップデート必須
  • react-server-dom 系が影響

Summary

React Server Components (RSC) の受信ペイロードのデコードにより、認証不要でリモートコード実行(RCE)を引き起こす脆弱性(CVE-2025-55182, CVSS 10.0)が報告されました。該当のパッケージを使用している場合は直ちに対応してください。影響範囲はサーバー側の React Server Function エンドポイントを扱う実装や、それを含むフレームワーク/バンドラに波及します。

Key Points

  • 重大度: 認証不要のリモートコード実行(CVSS 10.0)。
  • 影響パッケージ: react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack(影響版: 19.0, 19.1.0, 19.1.1, 19.2.0 等)。
  • 修正版: 19.0.1, 19.1.2, 19.2.1 で修正が導入。各リリースラインで上記以上のバージョンへ更新すること。
  • 即時対応: 影響パッケージを少なくとも修正版以上にアップグレードする。使用中のフレームワーク(例: next, react-router, waku, @parcel/rsc, @vitejs/plugin-rsc, rwsdk)もパッチを適用または再ビルドすること。
  • 非対象ケース: アプリがサーバー側の RSC/RF を一切使用していない、またはフレームワーク/バンドラが RSC をサポートしていない場合は影響を受けない可能性あり。必ず依存関係を確認する。
  • ホスティング側の緩和策は一時的な対処に過ぎないため、依存しないでアップデートを行うこと。

Practical upgrade examples

  • 最低限の方針: 対象パッケージを修正版以上に更新する(例として各系列の最低修正版を指定):
    • npm install react-server-dom-webpack@19.0.1 --save
    • npm install react-server-dom-parcel@19.0.1 --save
    • npm install react-server-dom-turbopack@19.0.1 --save
  • 推奨: 各パッケージと、それを利用するフレームワークの最新版(パッチ済み)へ更新し、CI/本番環境で再デプロイして検証する。

Action checklist (短期対応)

  • 依存ツリーを解析して影響パッケージを特定する(npm/yarn/pnpm の依存解決を利用)。
  • 直接または間接的に影響パッケージが含まれる場合は、修正版以上へアップデートして再ビルド・再デプロイ。
  • ホスティングの緩和策を頼らず、アプリケーション側で必ず更新を行う。

必要に応じて、具体的なプロジェクトの依存ツリーを教えていただければ、影響検出とアップグレード手順を個別に案内します。

Full Translation

翻訳

原文の流れを保ったまま読める翻訳セクションです。

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」については元記事のリンクとフォローアップ記事を参照してください。

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