
Demo of CVE-2025-29927 for secure programming class
Ceci est une démonstration de CVE-2025-29927, une vulnérabilité critique dans Next.js qui permettait de contourner le middleware avec un certain en-tête.
L'en-tête x-middleware-subrequest était destiné à empêcher les boucles infinies du middleware. Chaque fois que la requête atteint le middleware, la valeur middleware est ajoutée à cet en-tête, et si elle est ajoutée 5 fois, alors le middleware laisse passer la requête. Envoyer une requête avec la valeur middleware:middleware:middleware:middleware:middleware permettra de contourner le middleware.
Après avoir cloné le dépôt et construit le projet, exécutez le serveur de développement :
npm run dev
Accédez à l'application dans votre navigateur en utilisant le lien http://localhost:3000.
Le but de cette application est d'atteindre la page /cool. Le bouton de soumission mène à cette page, mais la requête est interceptée par le middleware et redirigée vers /uncool.
Maintenant, nous pouvons envoyer la même requête mais avec l'en-tête fabriqué, et le middleware nous permettra de passer à la page /cool. Cela peut être fait avec les outils de développement du navigateur.
