
Simule CVE-2025-29927, une vulnérabilité critique de Next.js permettant aux attaquants de contourner l'autorisation du middleware en exploitant l'en-tête HTTP interne x-middleware-subrequest. Démontre l'accès non autorisé aux routes protégées et fournit des stratégies d'atténuation.
Ce référentiel démontre l'exploitation de CVE-2025-29927, une vulnérabilité critique dans Next.js qui permet aux attaquants de contourner les contrôles d'autorisation basés sur le middleware. Le défaut provient d'une gestion incorrecte de l'en-tête HTTP interne x-middleware-subrequest, permettant un accès non autorisé aux routes protégées.
Ce projet est destiné uniquement à des fins éducatives et de recherche. Toute utilisation non autorisée contre des systèmes sans permission explicite est illégale et contraire à l'éthique. Les auteurs ne sont pas responsables de tout usage abusif de ce code.
CVE-2025-29927 affecte les versions de Next.js antérieures à :
La vulnérabilité survient lorsqu'un attaquant inclut l'en-tête x-middleware-subrequest dans une requête HTTP. Next.js interprète cet en-tête comme une sous-requête interne, ce qui l'amène à ignorer l'exécution du middleware, y compris les contrôles d'autorisation critiques.
git clone https://github.com/Knotsecurity/CVE-2025-29927-NextJs-Middleware-Simulation.git
cd cve-2025-29927-simulationnpm installnpm run dev
L'application inclut une route protégée à /admin, gardée par un middleware qui vérifie l'authentification de l'utilisateur.
/login et connectez-vous avec [email protected]:password123./admin. Vous obtiendrez une erreur d'accès non autorisé.x-middleware-subrequest: middleware, puis envoyez la requête./admin.Pour se protéger contre cette vulnérabilité :
npm install next@latestx-middleware-subrequest.