React Server Componentsの重大な脆弱性で、React2Shellとして知られCVE-2025-55182で追跡されるものが、Linuxの新しいバックドアPeerBlightを展開するために積極的に悪用されています。このマルウェアは、侵害されたサーバーを隠れたプロキシおよびコマンド・アンド・コントロールノードに変えます。攻撃者は、脆弱なNext.jsおよびReactアプリケーションで任意のコードを実行するために、単一の巧妙に作られたHTTPリクエストを使用します。
React2Shellの脆弱性は、React Server ComponentsがReact Flightの「chunks」を処理する方法における不安全なデシリアライゼーションの問題に起因します。認証されていない攻撃者は、特別に作成された「thenable」オブジェクトを通じて悪意あるロジックを注入し、サーバーサイドレンダリング中にサーバーが任意のJavaScriptを実行するよう強制できます。この欠陥はreact-server-domパッケージの複数のバージョンを影響し、インターネット公開のNext.jsアプリケーションに対する攻撃で観測されており、しばしばシェルスクリプトとELFペイロードを取得するための単純なcurlまたはwgetコマンドで開始されます。
セキュリティ研究者は、公に利用可能なReact2Shellスキャナを使用した積極的なスキャンを指摘しており、ログのデフォルトUser-Agentで識別可能です。野生での悪用が発生し、マルウェア配信、クリプトマイニング、永続化メカニズムなどのフォローオン活動を可能にしています。
内部に入ると、攻撃者は多層コマンド・アンド・コントロール(C2)構造を持つ洗練されたLinuxバックドアPeerBlightを展開します。最初にハードコードされたC2サーバー185.247.224.41:8443に接続し、RSA暗号化ハンドシェイクを通じてAES-256セッションキーを交渉します。マルウェアはホストのアーキテクチャ、オペレーティングシステム、キャンペーングループ識別子を詳細するJSONビーコンを送信します。主要C2が失敗した場合、最大200のドメイン-ポートペアを作成するドメイン生成アルゴリズム(DGA)に頼り、最終的に特徴的なノードIDプレフィックス「LOLlolLOL」を使用したBitTorrent DHTネットワークを活用してピアツーピアC2発見を行います。
永続性とステルス性のために、PeerBlightは自身を/bin/systemd-daemonにコピーし、systemdを使用するシステムでsystemd-agentとして登録するか、古いディストリビューションにUpstartジョブをドロップします。argvとプロセス名をカーネル[ksoftirqd]スレッドに似せ、プロセスリストでの検知を回避します。
バックドアは、ファイルのアップロードとダウンロード、リバースシェル生成、権限変更、任意バイナリ実行、メモリ内アップグレードを含む少なくとも10のJSONベースコマンドタイプを処理します。この設定は、感染ホストをさらなる侵入と横移動のための耐性プロキシノードに変えます。
同じキャンペーンはCowTunnel(xfrpcベースのリバースプロキシ)、ZinFoq(SOCKS5ピボットとタイムスタンピング付きGoインプラント)、XMRigクリプトマイナー、DDoSとwatchdog機能のためのKaijiボットネットバリアントなどのツールも導入しました。脆弱なReact Server ComponentsまたはNext.jsを使用する組織は、直ちにパッチを適用し、PeerBlightの指標(バイナリ、systemd-agentファイル、LOLlolLOL DHTノード、既知C2エンドポイントへのトラフィックなど)を監視するよう推奨されます。