はじめに
2025年12月に初めて確認されたReact Server Componentsにおける重大な脆弱性「React2Shell」(CVE‑2025‑55182)が、世界中のIT分野を含む複数の業界で積極的に悪用されています。この脆弱性は、Reactサーバーコンポーネント間のクライアント・サーバー通信を担うFlightプロトコルに影響を及ぼし、不適切な逆直列化処理を通じて、特定の条件下でリモートコード実行を可能にするものです。
React2Shell脆弱性の詳細
React2Shell脆弱性は、サーバーがクライアントデータを適切に検証せずに受け入れる「不適切な逆直列化」に起因します。これにより、攻撃者はサーバー上で悪意のあるコードを実行できる可能性があります。
影響を受けるパッケージとバージョンは以下の通りです。
- react-server-dom-webpack バージョン 19.0 ~ 19.2.0
- react-server-dom-parcel バージョン 19.0 ~ 19.2.0
- react-server-dom-turbopack バージョン 19.0 ~ 19.2.0
この脆弱性に対応するパッチが適用されたバージョンは、19.0.1、19.1.2、および 19.2.1です。
攻撃キャンペーンの概要
脅威インテリジェンス企業BI.ZONE Threat Detection and Responseによると、ロシアの保険、eコマース、IT分野を標的とした複数の攻撃波が確認されており、グローバルなキャンペーンも展開されています。攻撃者は、侵害されたコンテナ内でBase64エンコードされたコマンドを実行することでペイロードを配信し、systemdサービス、cronジョブ、変更されたスタートアップスクリプトを介して永続性を確立しています。
展開されたマルウェアの種類
この攻撃キャンペーンで確認された主要なマルウェアは以下の通りです。
- XMRig暗号通貨マイナー:Bashスクリプト(apaches.sh, setup2.sh, sex.sh)を通じて展開され、永続化メカニズムを確立し、競合するCPU消費プロセスを終了させます。
- Kaijiボットネット:アーキテクチャ固有のELF実行ファイル(linux_386, linux_amd64)として展開されるGolangベースのボットネットです。SYN、ACK、UDPフラッドによるDDoS攻撃を実行し、任意のシェルコマンドを実行、XMRigを組み込みます。
- RustoBot:Rustで書かれており、TOTOLINKデバイスを標的とします。ドメイン解決を通じてC2アドレス(ilefttotolinkalone.anondns[.]net, rustbot.anondns[.]net)を取得し、UDP、TCP、raw IPフラッドによる設定可能なDDoS攻撃を実行します。
- Sliverインプラント:d5.shスクリプトを通じて展開される高度な永続的脅威(APT)ツールです。/usr/bin/sshd-agent内のイミュータブルファイルや非ルートユーザー用の隠しディレクトリを通じてルート権限で永続性を確立します。C2サーバーはkeep.camdvr[.]orgに接続します。
- CrossC2フレームワーク:UPXでパックされたCobalt Strikeビーコンペイロード(a_x86, a_x64)を展開します。AES-128-CBC暗号化とハードコードされたキーを使用し、C2サーバー154.89.152[.]240:443を介してポストエクスプロイト活動を可能にします。
- Tactical RMM:156.67.221[.]96からダウンロードされるリモート監視・管理ツールで、攻撃者が永続的な管理アクセスを維持するために使用されます。
- VShellバックドア:ステージ化されたローダーを通じて配信されるGoベースのバックドアで、キー0x99を用いたXORでペイロードを復号し、memfd_createを介して実行され検出を回避します。C2サーバーは107.173.89[.]153:60051、vkeyは「qwe123qwe111」です。
- EtherRAT:Ethereumスマートコントラクト(0x22f96d61cf118efabc7c5bf3384734fad2f6ead4)からRPCエンドポイントを介してC2アドレスを取得する、JavaScriptベースの新しいリモートアクセス型トロイの木馬です。任意のJSコードを実行し、暗号通貨ウォレット、SSHキー、クラウド認証情報を盗み出し、nginx/Apacheの設定を変更してトラフィックを外部ドメインにリダイレクトします。
偵察と持続化の手口
攻撃者は、oastify[.]comサブドメインを使用してDNSトンネリングを行い、偵察データを外部に送信します。偵察スクリプトはシステム情報、ネットワーク構成、実行中のプロセスを収集し、109.238.92[.]111:8000/uploadのようなエンドポイントにデータを送信します。また、永続的なアクセスを確保するためにSSHキーをauthorized_keysファイルに追加し、検出を回避するためにセキュリティ監視プロセスを終了させます。
推奨される対策
企業は、この脅威に対して以下の緊急対策を講じる必要があります。
- 即座にパッチを適用:影響を受けるすべての
react-server-dom-*パッケージを、パッチが適用されたバージョン(19.0.1、19.1.2、または19.2.1以降)に更新してください。 - Next.jsプロジェクトのアップグレード:Next.jsプロジェクトを使用している場合、これらのパッチ適用済み依存関係を含むようにアップグレードしてください。
- プロジェクトのリビルドとロックファイルの検証:更新後、プロジェクトをリビルドし、ロックファイルを検証して、脆弱なバージョンが完全に削除されていることを確認してください。
- システム監査と監視:セキュリティチームは、侵害の痕跡(IOCs)、特に既知の悪意のあるIPアドレス(176.117.107[.]154, 45.137.201[.]137, 103.135.101[.]15, 128.199.194[.]97, 216.158.232[.]43)やドメインへの接続がないかシステムを監査し、不正なsystemdサービスやcronジョブがないか監視を強化してください。
まとめ
React2Shell脆弱性は、その公開からわずか数時間で悪用が開始されるなど、非常に迅速に武器化されています。この事態は、即座のパッチ適用と、その後の継続的な監視がいかに重要であるかを改めて浮き彫りにしています。
