
Exploit pour CVE-2025-29927 (Next.js) - Contournement d'autorisation

Vous aimez ce dépôt ? Donnez-nous une ⭐ !
À des fins de recherche en sécurité éducative et autorisée uniquement.
@UNICORDev par (@NicPWNs et @Dev-Yeoj)
Next.js est un framework React pour la création d'applications web full-stack. À partir de la version 1.11.4 et avant les versions 12.3.5, 13.5.9, 14.2.25 et 15.2.3, il est possible de contourner les contrôles d'autorisation au sein d'une application Next.js, si le contrôle d'autorisation se produit dans le middleware. Si le passage à une version sécurisée n'est pas possible, il est recommandé d'empêcher les requêtes utilisateur externes contenant l'en-tête x-middleware-subrequest d'atteindre votre application Next.js. Cette vulnérabilité est corrigée dans les versions 12.3.5, 13.5.9, 14.2.25 et 15.2.3.
Dans les versions vulnérables de Next.js, il est possible de contourner les contrôles d'autorisation au sein d'une application, si le contrôle d'autorisation se produit dans le middleware, en envoyant des requêtes contenant l'en-tête . Cet exploit évalue la version Next.js d'une cible et envoie divers en-têtes spécialement conçus pour réaliser un contournement du middleware.
x-middleware-subrequest python3 exploit-CVE-2025-29927.py -u <target-url>
python3 exploit-CVE-2025-29927.py -u <target-url> [-v <version>] [-m <middleware>]
python3 exploit-CVE-2025-29927.py -h
-u Target URL to check and exploit
-v Specify Next.js version if known (e.g., 15.2.0) [Optional]
-m Specify middleware file name/location if known (e.g. src/middleware) [Optional]
-h Show this help menu.

Next.js Version 13.5.6
cd vulnerable-next-app
docker compose up
python3 exploit-CVE-2025-29927.py -u http://localhost:3000/admin