はじめに: React2Shellの脅威
セキュリティチームは、「React2Shell」として広く知られる、深刻なReactの脆弱性「CVE-2025-55182」の開示を受けて、システムへのパッチ適用に奔走しています。この脆弱性はReact Server Components (RSC) に影響を与え、CVSSスコアは最高評価の10.0を記録しており、その影響の深刻さと悪用の容易さを示しています。Censysの調査によると、Next.js、Waku、React Router RSC、Vite RSC、Parcel RSC、RedwoodSDKで構築されたアプリケーションを含む、215万以上のインターネットに公開されたサービスが影響を受ける可能性があります。これらのインスタンス全てが脆弱であると確認されたわけではありませんが、その規模は膨大であり、すでに活発な悪用が開始されています。
「React2Shell」(CVE-2025-55182)とは
このバグは、React Server Componentsおよび関連パッケージがサーバー関数エンドポイントに送信されるデータを処理する方法に起因します。Reactのサーバーサイドパッケージ(react-server-dom-webpack、react-server-dom-parcel、react-server-dom-turbopack)は、JSONペイロードの安全でないデシリアライゼーションを実行します。これにより、認証されていない攻撃者が脆弱なエンドポイントに特殊な細工を施したHTTPリクエストを送信し、サーバーに任意のJavaScriptを実行させることが可能になります。実質的に、これはログインなしでサーバー上で完全なリモートコード実行(RCE)を可能にするものです。Reactは、明示的にサーバー関数を使用しないアプリケーションであっても、サーバーサイドでRSCをサポートしていれば脆弱である可能性があることを確認しています。一方、RSCやRSC対応フレームワークを使用しない純粋なクライアントサイドのReactアプリケーションは影響を受けません。
影響を受けるフレームワークとNext.js
以下のReactサーバーパッケージがバージョン19.0.0、19.1.0、19.1.1、19.2.0で影響を受けます:
react-server-dom-webpackreact-server-dom-parcelreact-server-dom-turbopack
これらのパッケージを組み込んだり、依存したりするフレームワークやツールも影響を受けます。主なものは以下の通りです:
- Next.js (App Routerを使用している場合)
- React Router RSCプレビュー版
- Waku
- Vite RSCプラグイン (
@vitejs/plugin-rsc) - Parcel RSCプラグイン (
@parcel/rsc) - RedwoodSDK
Next.jsに関しては、App Routerを使用しているバージョン14.3.0-canary.77以降、全ての15.x、全ての16.xがパッチ適用まで脆弱であると見なされるべきです。
活発な悪用が確認される
この状況は理論上の話ではありません。AWSのセキュリティチームは、公開後24時間以内に、中国系の脅威アクター(Earth LamiaやJackpot Pandaなどのグループ)がReact2Shellの悪用を開始したことを確認しました。CISAは「CVE-2025-55182」を既知の悪用されている脆弱性(KEV)カタログに追加しており、これが現実世界で活発に利用されていることを裏付けています。複数の公開されている概念実証(PoC)エクスプロイトもリリースされており、攻撃者にとっての障壁を下げています。
緊急のパッチ適用と緩和策
ベンダーはすでに修正版をリリースしています。Reactはパッチ適用済みのバージョン19.0.1、19.1.2、および19.2.1を出荷しており、Next.jsはサポートされているブランチ全体で複数の修正版を公開しています。これには15.0.5、15.1.9、15.2.6、15.3.6、15.4.8、15.5.7、16.0.7が含まれます。Cloudflare、AWS、その他のプロバイダーは既知のエクスプロイトパターンをブロックするためのWAFルールを展開していますが、研究者はすでにWAFバイパス技術を実証しており、これらの防御は一時的なレイヤーとしてのみ扱われるべきであり、パッチの代替にはなりません。
推奨される対策
組織は以下の行動を強く推奨されます:
- React Server Components、Next.js、またはリストされた他のフレームワークを使用するすべてのインターネットに公開された資産をインベントリ化する。
- パッケージおよびフレームワークのバージョンを確認し、パブリックインターネットからアクセス可能なシステムを優先する。
- 最新のパッチ適用済みリリースに直ちにアップグレードし、展開を確認する。
公開されているサービスの規模と活発な悪用の存在を考えると、パッチが適用されていないRSC対応サービスは、更新され、侵害の兆候が徹底的にレビューされるまで、高いリスクがあると見なされるべきです。
元記事: https://gbhackers.com/2-15m-next-js-web-services-exposed-online-active-attacks-reported/
