何が起きたか・対象

React Server Componentsに関連するサーバー側パッケージで、未認証の攻撃者がHTTPリクエストを送り、サーバー上で任意のコードを実行させる欠陥が公表されました。React2Shellと呼ばれ、識別子はCVE-2025-55182です。

React Server Componentsはサーバーでコンポーネントを処理する仕組みで、Server Functionsはクライアントから呼べるサーバー側の関数です。HTTP上ではそのまま関数呼び出しを渡せないため、呼び出しに必要な参照や引数をデータにして送り、サーバーが実行に使う値へ戻します。この記事の「復元」はその処理を指します。

サーバーは、Server Function向けに送られたデータを復元し、呼び出す関数や引数として扱います。この復元処理の欠陥により、攻撃者が用意した要求からサーバープロセスでのコード実行へ進むおそれがありました。公式資料が省略する内部の関数順序は、ここでは確認できていません。RSC対応のサーバー構成が対象で、ブラウザだけで動くReactアプリ全般の問題ではありません。 正常な場合にアプリが公開した処理を決められた引数で呼ぶことと、攻撃者が任意のサーバーコードを実行させることは異なります。実行先は要求の復元を担当するサーバープロセスで、使える権限もそのOSユーザーに従います。

報告・修正・公開の時系列

2025-11-29に報告され、12-03に公式公表されました。初回修正版は19.0.1、19.1.2、19.2.1です。Googleは12-12の記事で悪用活動を報告しています。後続の別脆弱性への修正もあるため、初回修正版だけを現在の推奨版とはしません。

正常ならどう動くはずだったか

React Server Functionsを使う構成では、クライアントの呼び出しがHTTPリクエストとしてサーバーへ届き、サーバー側の復元処理が関数呼び出しと引数へ変換します。外部のクライアントが用意した復元用データは、許可する呼び出しと値だけへ変換し、任意のサーバーコードを指定する手段にしてはいけません。

技術的な原因

公式は、Server Function向けのデータをデコード・復元する仕組みに欠陥があり、攻撃者が作ったHTTPリクエストを処理するとサーバーで任意コードが動くと説明しています。ブラウザが不正なHTMLを実行するXSSではなく、HTTPリクエストの復元を担当するサーバープロセスでの実行です。公式記事が省略する内部の関数順序や検証漏れは推測して補いません。

攻撃が成立する条件と流れ

攻撃者が復元用のデータを含むHTTPリクエストを、脆弱なreact-server-dom系パッケージを使用するサーバーへ送ります。該当の復元経路で処理されると、ログインなしでサーバーコード実行に至るおそれがあります。明示的な自作Server FunctionがなくてもRSC対応の構成で影響する場合がありますが、サーバー機能を使わないReactアプリとは区別します。 復元処理を用意するのは、利用するRSC対応フレームワークやパッケージです。公式は自作Server Functionの有無だけで対象外と判断しないよう案内していますが、関数がない各構成での内部ルートまでは本記事で確認していません。

確認された事実と、想定される影響

Googleの脅威調査は、公表後にバックドアや採掘プログラムなどを配置する実際の悪用を報告しています。バックドアを動かすと、攻撃者が後からそのプログラムを通じて命令を送り、サーバーの実行ユーザーの権限で処理させる経路が残るおそれがあります。採掘プログラムでは、被害者の計算資源を攻撃者の利益のために消費します。

任意コード実行の一般的な影響例として、プロセスが読める資格情報を攻撃者のサーバーへ送信できる場合には、その秘密も取得されるおそれがあります。これは全ての観測事例で同じ情報が盗まれたという意味ではありません。全Reactサイトの侵害や、各攻撃機能が全対象で成功したことも示していません。

実際の修正・対応方針

公式は対象パッケージの修正版を公開し、フレームワーク別の更新手順も示しています。ホスティング側の緩和策は一時的なものとして、後続修正を含めた開発元の現行案内に沿って依存を更新します。

利用者・運用者が確認すること

サーバーの依存ツリーから実際に使うRSCパッケージとフレームワークを確認します。更新に加え、疑わしい要求、生成ファイル、プロセス、資格情報の利用を調査します。コード実行が疑われる場合、パッチだけで過去の侵害が解消するとは考えません。 例えば、要求を処理した直後の不審なプログラムの生成・起動や、そのプロセスが読めるAPIキーなどの認証情報の不正利用を、時刻や実行主体で照合します。こうした一致は調査材料であり、ファイルがあるだけで本件の侵害と断定するものではありません。

開発者への教訓(教材としての考察)

フロント向けの製品名でも、サーバー機能を使えば外部要求を復元する処理が増えます。実行場所と依存パッケージを特定してから、影響範囲を判断します。

出典・確認範囲

  1. [1] Critical Security Vulnerability in React Server ComponentsReact Team / 確認日 2026-10-29
  2. [2] Multiple Threat Actors Exploit React2ShellGoogle Threat Intelligence / 確認日 2026-10-29
未確認事項・限界

公式記事で省略された復元処理の内部差分や、個別組織の被害数は確認していません。