コンテンツへスキップ
ホーム » React2Shell脆弱性分析:ドメイン単位の技術スタックに基づくRSC露出状況

React2Shell脆弱性分析:ドメイン単位の技術スタックに基づくRSC露出状況

2025年12月に公開されたReact Server Components(RSC)の脆弱性 CVE-2025-55182、通称React2Shellは、世界中のWebサービスを対象に急速に拡散しており、今年最も深刻なWeb脆弱性の一つと評価されています。この脆弱性は、単にReactそのものに限定されるものではありません。React Server Componentsは、Next.js、Vite、Parcel、RedwoodJSなど、さまざまなフロントエンドフレームワークの内部で使用されているため、単一の脆弱性がReactエコシステム全体に影響を及ぼす点で、リスクはさらに高まっています。

本記事では、サーバーへの直接的なアクセスを行わず、ドメイン単位の静的分析のみでReact2Shellの露出有無を確認する方法と、実際のサービス環境で検知された事例について解説します。

React2Shell脆弱性の再確認

React2Shell脆弱性の概要

React2Shellは、React Server Componentsがサーバーとクライアント間で状態をやり取りする際に使用するFlightプロトコルの逆シリアル化処理において、十分な検証が行われないことにより発生する脆弱性です。その結果、攻撃者は追加の認証を行うことなく、細工されたリクエストを送信するだけで、サーバー上で任意のコードを実行(RCE)できてしまいます。

主な特徴は以下のとおりです。

  • 認証なしでRCEが可能
  • PoC公開後、即座に自動化攻撃が発生
  • 中国系ハッカーグループ(Earth Lamia、Jackpot Panda)によるスキャン活動確認
  • CISAのKnown Exploited Vulnerabilities(KEV)に登録
  • CVSSスコア 10.0 (Critical)

React2Shellは単一のフレームワークに限った問題ではなく、RSC機能を利用するNext.js、Vite、Parcel、RedwoodJSなど、Reactエコシステム全体に影響を及ぼす点で、非常に高いリスクを有しています。

ドメイン単位でReact・Next.jsの利用状況を確認すべき理由

React2Shellはサーバー側の脆弱性として知られていますが、実際の攻撃可能性は、Webサービスが使用しているフレームワークとそのバージョンによって大きく左右されます。特にNext.jsは、React Server Components(RSC)を内部的に含んでいるため、Next.jsのバージョン情報だけでも、脆弱なRSCモジュールが併せて配布されているかどうかを推測することが可能です。このため、サーバー設定に直接アクセスできない場合であっても、ドメイン単位でフロントエンドの技術スタックを分析するだけで、脆弱性の露出有無をかなりの程度まで判断することができます。

静的リソース分析によって確認できる情報

Webページに読み込まれるJSバンドル、HTML構造、スクリプトのパターンを分析することで、以下のような情報を把握できます。

  • Reactの使用有無
  • Next.jsおよび関連フレームワークのバージョン
  • core-jsなど主要なサードパーティライブラリのバージョン
  • バージョンごとに関連するCVE情報
  • フロントエンド技術スタックの構成

つまり、ドメインまたはURL単位の分析だけでも、「使用技術 → バージョン → 適用可能な脆弱性」という一連の流れを把握することが可能です。

実際の事例:ReactベースのWebサービスにおける技術スタックの露出状況

https://www.criminalip.io/ja/domain/report/44870949

Criminal IP ドメイン検索 ― Next.jsの技術スタックとCVE-2025-55182の関連性が表示された実際の検知結果

あるWebサービスのドメインをCriminal IP ドメイン検索で分析したところ、当該Webサービスで使用されているフレームワーク、ライブラリ、バージョン情報とともに、それらに関連する脆弱性情報が特定されました。

1. Next.js

  • バージョン:15.3.5
  • 脆弱性:CVE-2025-55182
  • 分類:Web frameworks / Web servers

当該バージョンは、最新の安定版と比較してパッチ適用状況が不明確であり、RSCの脆弱なモジュールへの依存関係を通じて、React2Shellの直接的な影響範囲に含まれる可能性が高いと考えられます。

2. React

  • フロントエンドのレンダリングライブラリ
  • HTML構造上に直接露出していない場合でも、ドメイン検索の静的分析エンジンがJSXバンドルやスクリプトパターンを基に検知

3. core-js

  • バージョン:3.38.1
  • Modern JavaScript向けのpolyfillライブラリ
  • サプライチェーン(Supply Chain)における脆弱性の有無についても、追加で確認することが可能

この事例のポイントは、単にReactやNext.jsを使用しているという事実ではなく、特定のフレームワークバージョンに脆弱性が直接ひも付いているという点にあります。これは、フロントエンドコードそのものが、すでに攻撃対象領域の一部となっている可能性を示しています。

セキュリティ担当者が実施すべき対応策

1) フレームワークのバージョン更新

Next.jsはReact RSCのパッチを自動的に継承しないため、各フレームワークが公開しているセキュリティアドバイザリやリリースノートを確認したうえで、必ず最新バージョンへ更新する必要があります。

2) React Server Components のパッチ確認

以下のパッケージを19.0.1以上にアップグレードする必要があります。

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

3) ドメイン検索を基盤とした技術スタックの定期的な点検

静的分析に基づく検知結果は、Reactのバージョン変更や外部スクリプトの更新などによって変化する可能性があるため、定期的な自動スキャンの実施が重要です。

4) React Web露出(CVE検査)向けの軽量スキャナー

Criminal IP React セキュリティチェック

React2Shellの問題により、Reactベースのサービス全般に対するセキュリティ点検の必要性が高まる中、Criminal IPは、サービス停止や実際の攻撃を行うことなく、外部に露出したポイントを迅速に確認できるReact Web露出(CVE検査)向けの軽量スキャナーを公開しました。

本ツールはASM方式を採用しており、最新のReact(Next.js・RSC)環境における露出ポイントを約10秒以内で検知します。また、Vue.js、Angular、Svelteなど、さまざまなフレームワークを基盤としたサービスの点検にも対応しています。
緊急性の高い点検が求められる環境において、一次的なセキュリティ確認用途として活用可能です。

FAQ

Q1. サーバーベース分析とドメインベース分析の違いは何ですか?

サーバーベース分析は、HTTPレスポンスを通じてRSCの有効化有無を確認する手法です。一方、ドメインベース分析は、Webページに配布されているフロントエンドコードそのものから脆弱性を特定します。両者を相互補完的に活用することで、最も高い効果が得られます。

Q2. Next.jsのバージョンだけでReact2Shellの影響有無を判断できますか?

可能です。Next.jsはReact RSCモジュールを内部的に含んでいるため、特定のNext.jsバージョンが脆弱なRSCモジュールを併せて配布している可能性を示しています。

結論

React2Shellはサーバー側の脆弱性として知られていますが、実際の分析結果から、フロントエンドの技術スタックレベルにおいても脆弱性が直接露出している事例が確認されています。特に、Next.jsベースのWebサービスでCVE-2025-55182がマッピングされて表示される場合、RSCのパッチが適用されていない可能性が高く、迅速な対応が求められます。従来の分析がサーバー設定を中心とした可視化に重点を置いていたとすれば、本記事は、ドメイン単位の静的分析のみでも脆弱性を特定できることを示しています。これら二つのアプローチを併用することで、React2Shellのような大規模な脆弱性に対して、より立体的な脅威可視性を確保することが可能となります。

なお、関連して Critical React2Shell 脆弱性(CVE-2025-55182)分析:世界中の RSC 有効化サービスを狙った攻撃急増 の記事もご参照ください。


本レポートは、サイバー脅威インテリジェンス検索エンジン Criminal IP のデータを基に作成されています。
今すぐCriminal IP の無料アカウントを作成すれば、本レポートで引用された検索結果を直接確認したり、さらに膨大な脅威インテリジェンスを自由に検索することができます。 

データソース : Criminal IP (https://www.criminalip.io/ja)

関連記事 : https://www.criminalip.io/ja/knowledge-hub/blog/7594

コメントを残す

Criminal IP(クリミナルアイピー)をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む