## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-CHRAHMAN-REACT2SHELL-CVE-2025-55182-FULL-RCE-SCRIPT
# Next.js React2Shell (CVE-2025-55182) エクスプロイトツール
認可されたローカルテスト環境のみで、重大な React2Shell 脆弱性 (CVE-2025-55182 / CVE-2025-66478) を実証するための Proof-of-Concept ツールです。
## ⚠️ 重大な警告: 活発な悪用が進行中
**この脆弱性 (CVSS 10.0) は、高度な脅威アクターによって活発に悪用されています。** Amazon Threat Intelligence は、Earth Lamia や Jackpot Panda を含む複数の中国関連の国家支援グループが、開示から数時間以内に公開エクスプロイトを兵器化し始めたと報告しています。米国サイバーセキュリティ・インフラストラクチャセキュリティ庁 (CISA) は、これを既知の悪用された脆弱性 (KEV) カタログに追加しました。
* **法的に許可された用途のみ** : 自分が所有するシステム、またはテストするための明示的な書面による許可を得たシステムに対してのみ使用してください。
* **即時パッチ適用必須** : 脆弱性がある場合は、直ちに更新する必要があります。パッチ適用が唯一の決定的な緩和策です。
* **無保証** : このツールは教育および認可されたセキュリティ評価の目的のみに使用されます。
## 📄 脆弱性の概要
CVE-2025-55182 (React2Shell) は、React Server Components (RSC) の "Flight" プロトコルにおける、認証前の重大なリモートコード実行 (RCE) 脆弱性です。別の識別子 **CVE-2025-66478 は Next.js 用に割り当てられましたが、CVE-2025-55182 の重複として以後は拒否されています** 。両者は同じ根本原因を共有しているためです。
* **根本原因** : React のサーバーサイドパッケージにおける安全でない逆シリアル化。Flight プロトコルのデコードロジックが攻撃者制御のペイロードを適切に検証できないため、プロトタイプ汚染とサーバーサイドの実行パスへの影響が可能になります。
* **攻撃ベクトル** : 認証なし。攻撃者は特別に細工された単一の HTTP POST リクエストをサーバーエンドポイントに送信するだけでエクスプロイトを引き起こせます。
* **信頼性** : テストにより、脆弱なデフォルト設定に対してほぼ100%の信頼性でエクスプロイトが成功することが示されています。
* **影響範囲** : React Server Components (RSC) をサポートするアプリケーションは、**Server Functions を明示的に実装していない場合でも** 脆弱です。
## 📖 使用方法
### 基本構文
root@kitploit:~
chmod +x pwn-nextjs.sh
./pwn-nextjs.sh [TARGET_URL] [COMMAND]
### 例
root@kitploit:~
# 特定の URL を対象にする
./pwn-nextjs.sh https://vulnerable-app.example.com "whoami"
root
## 🎯 影響を受けるソフトウェアとパッチ適用済みバージョン
この脆弱性は特定の React パッケージに起因し、それらをバンドルしているすべてのフレームワークに影響します。
**影響を受けないもの** : Next.js 13.x、Next.js 14.x の安定版、Pages Router アプリケーション、および Edge Runtime は**影響を受けません** 。
## 🔬 技術的詳細とエクスプロイト
### Flight プロトコルの欠陥
RSC Flight プロトコルは、クライアントとサーバー間の通信のためにデータをシリアル化します。脆弱性はサーバー側の逆シリアル化ロジックにあり、受信したペイロードからオブジェクトのプロパティを十分な検証なしに安全でない方法で展開します。これにより、攻撃者はリクエストに悪意のあるキー (`__proto__` や `constructor` など) を注入でき、**プロトタイプ汚染** を引き起こします。
プロトタイプチェーンが汚染されると、サーバーは攻撃者の影響を受けた実行パスをたどります。これを連鎖させることで、サーバーの権限で任意の JavaScript コードを実行でき、完全なリモートコード実行 (RCE) につながります。
### エクスプロイト後の活動
セキュリティ研究者は、以下のような成功したエクスプロイトを観察しています:
* **認証情報の収集** : クラウド認証情報 (例: `.aws/credentials`) の特定と外部送信を試みます。
* **暗号通貨マイニング** : XMRig などのマイナーの展開。
* **マルウェア展開** : Sliver C2 フレームワークなどのインストール。
## 🛡️ 緩和策と対応
### 1\. 即時パッチ適用 (主要な解決策)
**パッチ適用は必須であり、脆弱性を完全に排除する唯一の方法です** 。脆弱なコードパスを無効にする構成設定は存在しません。
root@kitploit:~
# Next.js ユーザーは、お使いのリリースラインの最新のパッチ適用済みバージョンにアップグレードしてください。
# 例: Next.js 15.5.x を使用している場合:
npm install some-email@example.com
# React の依存関係も更新されていることを確認してください:
npm install react@latest react-dom@latest
**確認** : `package-lock.json` または `yarn.lock` ファイルが、パッチ適用済みの `react-server-dom-*` パッケージバージョン (19.0.1、19.1.2、または 19.2.1) を反映していることを確認してください。
### 2\. 暫定防御 (WAF ルール)
パッチ適用までの間、エクスプロイトの試みをブロックする Web Application Firewall (WAF) ルールを展開してください:
* **AWS WAF** : マネージドルールグループ `AWSManagedRulesKnownBadInputsRuleSet` (v1.24+) には、この CVE 用のルールが含まれています。
* **Google Cloud Armor** : 事前設定された `cve-canary` ルールが利用できます。
* **Palo Alto Networks** : Snort などの製品向けのシグネチャが利用できます。
> **注意** : WAF ルールは一時的で不完全な緩和策です。**パッチ適用の必要性に代わるものではありません** 。
### 3\. 侵害の痕跡 (IOC)
エクスプロイト試行の兆候として、以下のログを確認してください:
* **ネットワーク** : `next-action` または `rsc-action-id` ヘッダーを含む POST リクエスト。`$@` や `"status":"resolved_model"` のようなパターンを含むリクエストボディ。
* **ホスト** : Node.js プロセスによる予期しないコマンド実行 (`whoami`、`id`、`uname`)、`/etc/passwd` の読み取り、または `/tmp/` へのファイル書き込み (例: `pwned.txt`)。
## ⚖️ 法的注意事項、倫理、責任ある開示
このツールは、**CVSS スコア 10.0 (最大深刻度)** の脆弱性を実証するものであり、現在国家支援を受けた悪用が行われています。
* **認可が必要です** : テストは、自分が所有・管理する環境 (例: localhost、隔離されたラボ) に限定する必要があります。無断でのテストは違法です。
* **責任ある開示** : 脆弱な第三者システムを発見した場合、それを悪用しないでください。調査結果を文書化し、システム所有者に責任を持って開示してください。
* **目的** : このツールは、教育、認可されたペネトレーションテスト、およびセキュリティ担当者が脅威を理解してパッチ適用を優先できるようにすることを目的としています。
## 🔗 参照情報とクレジット
* **Official Next.js Advisory (CVE-2025-66478)**
* **発見者** : 脆弱性を発見し、責任を持って開示した Lachlan Davidson。
* **脅威インテリジェンス** : 実環境での悪用を追跡している AWS、Wiz、およびその他のチーム。
* * *
**忘れないでください** : このツールは、**パッチ適用が緊急である理由** を示しています。この知識をセキュリティの向上とシステムの防御に活用し、侵害に使用しないでください。上記に記載されたパッチ適用済みバージョンに、すべての依存関係を更新してください。