
機能的なエクスプロイト for CVE-2025-29927、Next.js ミドルウェアの認可バイパスに関する重大な脆弱性です。`x-middleware-subrequest` ヘッダーを含む細工された HTTP リクエストを送信し、保護されたルートの認証チェックを回避します。
このリポジトリには、Next.js の重大な認証バイパス脆弱性である CVE-2025-29927 に対する実用的なエクスプロイトが含まれています。この欠陥により、攻撃者はミドルウェアベースの認証および認可チェックをバイパスし、保護されたルートへの不正アクセスを可能にします。
CVE-2025-29927 は、Next.js ミドルウェアにおける重大な脆弱性であり、攻撃者が内部ヘッダー x-middleware-subrequest を含む特別に細工された HTTP リクエストを送信することで、認証および認可チェックをバイパスできるようにします。このヘッダーは、ミドルウェア実行中に無限再帰を防ぐために内部使用されることを目的としています。しかし、その不適切な処理により、攻撃者はこのメカニズムを悪用してミドルウェアチェックをスキップし、機密性の高い管理ルートや保護されたコンテンツを露出させる可能性があります。
この脆弱性は、以下のバージョンより前の Next.js に影響します:
認証やセキュリティチェックなどの重要なタスクにミドルウェアを使用し、影響を受けるバージョンで実行されているアプリケーションは、このエクスプロイトに対して脆弱です。特に、Vercel 上でホストされているデプロイメントは、この脆弱性に対して自動的に保護されます。
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Python 3.7+
ミドルウェアベースのアクセス制御を使用する脆弱な Next.js アプリケーション
python3 exploit.py --host <IP> --port <PORT> --path <PATH> --method <METHOD>