Reactで新たな脆弱性 DoS(サービス不能)とソースコード 漏洩の可能性、19系の複数バージョンに影響(CVE-2025-55184 / CVE-2025-67779/CVE-2025-55183)

セキュリティニュース

投稿日時: 更新日時:

Reactで新たな脆弱性 DoS(サービス不能)とソースコード 漏洩の可能性、19系の複数バージョンに影響(CVE-2025-55184 / CVE-2025-67779/CVE-2025-55183)

Meta/Reactチームは2025年12月11日、React Server Components(RSC)に関する新たな3件の脆弱性を公表し、利用者に対して「至急アップデートするように」と呼びかけました。


今回の3件は、先週明らかになったリモートコード実行脆弱性 「React2Shell(CVE-2025-55182)」とは別個の脆弱性 であり、React2Shell対策として一度アップデートした環境でも、改めてパッチ適用が必要 です。

影響を受けるパッケージとバージョン

今回の3件の脆弱性は、先のReact2Shell(CVE-2025-55182)と同じく、以下のRSC関連パッケージに影響します。

対象パッケージ

  • react-server-dom-webpack

  • react-server-dom-parcel

  • react-server-dom-turbopack

影響を受けるバージョン

  • 19.0.0, 19.0.1, 19.0.2

  • 19.1.0, 19.1.1, 19.1.2, 19.1.3

  • 19.2.0, 19.2.1, 19.2.2

修正済みのバージョン

  • 19.0.3

  • 19.1.4

  • 19.2.3

Reactチームは、上記いずれかのパッケージを利用している場合は、該当する系列の「.3」版(19.0.3 / 19.1.4 / 19.2.3)へ直ちにアップデートするよう推奨しています。

先週、重大なRCE対策として19.0.2 / 19.1.3 / 19.2.2 にアップデートしたプロジェクトも、今回のDoS追加修正の対象となるため再アップデートが必要という点が重要です。

影響を受ける可能性のあるフレームワーク・バンドラ

React単体ではなく、RSCをサポートする各種フレームワーク・ツールも影響を受けます。Reactチームは、少なくとも以下が影響を受けるとしています。

  • Next.js(next)

  • react-router

  • waku

  • @parcel/rsc

  • @vite/rsc-plugin

  • rwsdk

各プロジェクトが内部でRSC関連パッケージを依存/同梱している場合があるため、フレームワーク側のアップデート情報とReactチームの案内を両方確認しながらアップデート手順を進める必要があります。

また、いくつかのホスティングプロバイダとは引き続き連携し、**サーバ側で一時的な緩和策(ミティゲーション)**が適用されていますが、Reactチームは

「ホスティング側対策に依存せず、必ずアプリケーション側のパッケージを更新してほしい

と明言しています。

新たに公表された3件の脆弱性

DoS(サービス不能)脆弱性:2件(高リスク)

  • CVE-2025-55184 / CVE-2025-67779

  • CVSS 7.5(High)

Server Functionsのエンドポイントに対して、攻撃者が細工したHTTPリクエストを送信すると、React側のデシリアライズ処理が無限ループに陥り、サーバプロセスがハングしてCPUを消費し続ける恐れがあると説明されています。

  • アプリ側でServer Functionを自作していなくても、
    React Server Componentsをサポートしているだけで影響を受ける可能性あり

  • 悪用されると、サービスが応答しなくなり、**ユーザーが利用できない状態(DoS)**を引き起こす可能性があります。

Reactチームによると、最初の修正(CVE-2025-55184)では対処しきれていないケースがあったため、それを補う形で**追加の修正(CVE-2025-67779)**が公開されています。

ソースコード露出の脆弱性:1件(中リスク)

  • CVE-2025-55183

  • CVSS 5.3(Medium)

こちらは、脆弱なServer Functionに対して細工されたHTTPリクエストを送ることで、Server Functionの関数本体のソースコードがレスポンスとして返されてしまう問題です。

Reactチームが示した例では、次のようなServer Functionがあるとします:

'use server';

export async function serverFunction(name) {
  const conn = db.createConnection('SECRET KEY');
  const user = await conn.createUser(name);

  return {
    id: user.id,
    message: `Hello, ${name}!`
  }
}

不正なリクエストを送ることで、返却されるデータに関数本体が文字列化された形で含まれてしまう可能性があり、ハードコードされたシークレット情報(ここでは "SECRET KEY")などが漏洩する危険があります。

Reactチームは次のようにポイントを整理しています。

  • 露出しうるのはソースコード内に埋め込まれた秘密情報

  • 一方で、process.env.SECRET などのランタイムの環境変数は影響を受けない

  • 露出する範囲は基本的にServer Function内部のコードだが、バンドラのインライン展開状況によっては関連関数も含まれる可能性あり

今回のパッチでは、Server Functionのソースコードが文字列化されて外部へ返されないようにする処理が追加されています。

React Nativeへの影響

React Nativeについては、通常の構成であれば今回の問題の影響は限定的です。

  • React Native単体(react-domやRSCを使わない構成)
    package.jsonreact のバージョンが固定されているため、 追加の対応は不要

  • ただし、モノレポ構成で RSC 関連パッケージ
    react-server-dom-webpack / react-server-dom-parcel / react-server-dom-turbopack)を導入している場合

    → これらのパッケージだけをアップデートする必要があります。
    reactreact-dom 自体は更新不要としており、React Native特有のバージョン不整合エラーを避けられるよう配慮されています。