ClaudeReact2025/12/03 0:00

Critical Security Vulnerability in React Server Components

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

元記事

Quick Digest

要約

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

claudejamodel: claude-sonnet-4-20250514

React Server Components における重大なセキュリティ脆弱性(CVE-2025-55182)

Key Points

  • CVSS 10.0の重大な脆弱性でリモートコード実行が可能
  • React Server Components使用アプリは即座にアップデート必須
  • Next.js、React Router等主要フレームワークが影響対象

Summary

React Server Componentsにおいて、認証不要でリモートコード実行が可能な重大な脆弱性(CVE-2025-55182、CVSS 10.0)が発見されました。React Server Functionエンドポイントへのペイロードデコード処理の欠陥を悪用することで、攻撃者が悪意のあるHTTPリクエストを送信し、サーバー上でリモートコード実行を実現できます。

Key Points

  • 影響範囲: React 19.0、19.1.0、19.1.1、19.2.0の以下パッケージ
    • react-server-dom-webpack
    • react-server-dom-parcel
    • react-server-dom-turbopack
  • 修正版: 19.0.1、19.1.2、19.2.1で修正済み
  • 影響フレームワーク: Next.js、React Router、Waku、Parcel、Vite RSCプラグイン、Redwood SDK
  • 対応: 即座にパッケージを最新版にアップデート
  • 非影響: サーバーサイドでReactを使用していない、またはReact Server Componentsを使用していないアプリケーション

Full Translation

翻訳

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

claudejamodel: claude-sonnet-4-20250514

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

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

2025年12月3日 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に存在します:

  • react-server-dom-webpack
  • react-server-dom-parcel
  • react-server-dom-turbopack

緊急対応が必要

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

アプリのReactコードがサーバーを使用していない場合、この脆弱性の影響は受けません。

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

影響を受けるフレームワークとバンドラー

一部のReactフレームワークとバンドラーは、脆弱性のあるReactパッケージに依存している、ピア依存関係を持っている、または含んでいました。以下のReactフレームワークとバンドラーが影響を受けます:

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

これらのパッチにアップグレードする方法については、以下のアップデート手順を参照してください。

ホスティングプロバイダーによる軽減策

多数のホスティングプロバイダーと協力して一時的な軽減策を適用しました。これらに依存してアプリを保護すべきではなく、引き続き直ちにアップデートしてください。

脆弱性の概要

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

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

脆弱性の詳細は、修正の展開が完了した後に提供されます。

アップデート手順

注意 これらの手順は新しい脆弱性を含むように更新されました:

  • Denial of Service - 高重要度:CVE-2025-55184およびCVE-2025-67779(CVSS 7.5)
  • Source Code Exposure - 中重要度:CVE-2025-55183(CVSS 5.3)
  • Denial of Service - 高重要度:2026年1月26日 CVE-2026-23864(CVSS 7.5)

詳細については、フォローアップブログ投稿を参照してください。

2026年1月26日更新。

Next.js

すべてのユーザーは、リリースラインの最新パッチバージョンにアップグレードする必要があります:

npm install next@14.2.35 // 13.3.x、13.4.x、13.5.x、14.x用
npm install next@15.0.8 // 15.0.x用
npm install next@15.1.12 // 15.1.x用
npm install next@15.2.9 // 15.2.x用
npm install next@15.3.9 // 15.3.x用
npm install next@15.4.11 // 15.4.x用
npm install next@15.5.10 // 15.5.x用
npm install next@16.0.11 // 16.0.x用
npm install next@16.1.5 // 16.1.x用
npm install next@15.6.0-canary.60 // 15.x canaryリリース用
npm install next@16.1.0-canary.19 // 16.x canaryリリース用

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ブログを、詳細については以前のchangelogを参照してください。

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@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

monorepoやreact-domを使用していないReact Nativeユーザーの場合、reactバージョンはpackage.jsonで固定されているはずで、追加の手順は必要ありません。

monorepoでReact Nativeを使用している場合は、インストールされている場合のみ影響を受けるパッケージをアップデートする必要があります:

  • react-server-dom-webpack
  • react-server-dom-parcel
  • react-server-dom-turbopack

これはセキュリティアドバイザリを軽減するために必要ですが、reactとreact-domをアップデートする必要はないため、React Nativeでバージョン不一致エラーが発生することはありません。

詳細については、この問題を参照してください。

タイムライン

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

謝辞

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

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