
CVE-2025-55182 & CVE-2025-66478 検出ツール(Next.js RSC RCE 向け)
Next.js アプリケーションの React Server Components (RSC) における CVE-2025-55182 および CVE-2025-66478(リモートコード実行)を検出するための高精度コマンドライン脆弱性スキャナーです。
これらの重大な脆弱性は、React Server Components を使用する Next.js アプリケーションに影響を与え、巧妙に細工された multipart POST リクエストを通じて、認証なしのリモートコード実行を可能にします。
影響を受けるバージョン:
技術的な詳細については、Assetnote Research を参照してください。
このスキャナーは、決定的な数学演算(41*271 = 11111)を実行する RCE 概念実証ペイロードを含む、巧妙に細工された multipart POST リクエストを送信します。脆弱なホストは、X-Action-Redirect レスポンスヘッダーに /login?a=11111 として結果を返します。
| モード | 説明 | ユースケース |
|---|---|---|
| RCE PoC(デフォルト) | ターゲット上で無害な数学演算を実行 | 脆弱性の迅速な確認 |
| Safe Check | エラーレスポンスによるサイドチャネル検出 | コード実行が望ましくない場合 |
# Clone the repository
git clone https://github.com/YOUR_USERNAME/react2shell-scanner.git
cd react2shell-scanner
# Install dependencies
pip install -r requirements.txt
# Scan a single target
python scanner.py -u https://example.com
# Scan multiple targets from file
python scanner.py -l hosts.txt
# Multi-threaded scan with JSON output
python scanner.py -l hosts.txt -t 20 -o results.json
# Scan with custom headers
python scanner.py -u https://example.com -H "Authorization: Bearer token" -H "Cookie: session=abc"
# Safe detection mode (no code execution)
python scanner.py -u https://example.com --safe-check
# Scan Windows targets
python scanner.py -u https://example.com --windows
# WAF bypass mode
python scanner.py -u https://example.com --waf-bypass
# Vercel-specific WAF bypass
python scanner.py -u https://example.com --vercel-waf-bypass
# Combine options
python scanner.py -l hosts.txt -t 50 --waf-bypass --windows -o results.json
╔═══════════════════════════════════════════════════════════════╗
║ react2shell-scanner ║
║ CVE-2025-55182 & CVE-2025-66478 Detection Tool ║
╚═══════════════════════════════════════════════════════════════╝
┌─────────────────────────────────────────────────────────────┐
│ SCAN CONFIGURATION │
├─────────────────────────────────────────────────────────────┤
│ Targets: 5 │
│ Threads: 10 │
│ Detection Mode: RCE PoC │
│ Payload Type: Unix (Shell) │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ TARGET: https://example.com │
├─────────────────────────────────────────────────────────────┤
│ Status: 🟢 SAFE │
│ HTTP Status: 200 │
│ Response Time: 245.32ms │
│ Server: Vercel │
└─────────────────────────────────────────────────────────────┘
═════════════════════════════════════════════════════════════════
SCAN SUMMARY
═════════════════════════════════════════════════════════════════
Total Targets: 5
Vulnerable: 0
Safe: 5
Total Scan Time: 2.34s
═════════════════════════════════════════════════════════════════
-o results.json を使用すると、結果は JSON 形式で保存されます:
[
{
"url": "https://vulnerable-site.com",
"vulnerable": true,
"message": "RCE confirmed: X-Action-Redirect = /login?a=11111",
"status_code": 200,
"response_time": 342.15,
"server": "Next.js",
"payload_type": "rce-poc (Unix)",
"x_action_redirect": "/login?a=11111"
}
]
このツールは許可されたセキュリティテスト専用です。明示的なテスト許可を得たシステムに対してのみ、このスキャナーを使用してください。コンピュータシステムへの不正アクセスは違法です。
作者は、このツールによって引き起こされた誤用や損害について責任を負いません。
MIT ライセンス - 詳細は LICENSE ファイルを参照してください。
貢献を歓迎します! お気軽に Pull Request を送信してください。
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)| オプション | 説明 |
|---|
-u, --url | チェックする単一の URL |
-l, --list | ホストを含むファイル(1行に1つ) |
-t, --threads | 同時スレッド数(デフォルト: 10) |
--timeout | リクエストタイムアウト(秒)(デフォルト: 10) |
-o, --output | 結果の出力ファイル(JSON 形式) |
--all-results | 脆弱なホストだけでなくすべての結果を保存 |
-v, --verbose | 出力にレスポンスボディを含める |
-q, --quiet | 脆弱なホストのみを出力 |
--no-color | カラーのターミナル出力を無効化 |
-k, --insecure | SSL 証明書の検証を無効化 |
-H, --header | カスタムヘッダー(複数回使用可能) |
--safe-check | RCE PoC の代わりに安全なサイドチャネル検出を使用 |
--windows | Unix シェルの代わりに Windows PowerShell ペイロードを使用 |
--waf-bypass | WAF のコンテンツ検査を回避するためのジャンクデータを追加 |
--waf-bypass-size | ジャンクデータのサイズ(KB)(デフォルト: 128) |
--vercel-waf-bypass | Vercel WAF バイパス用のペイロードバリアントを使用 |