
Scanner Python qui détecte les instances Next.js vulnérables à CVE-2025-29927, identifie les versions et teste le contournement d'authentification via l'en-tête x-middleware-subrequest avec un balayage parallèle multi-thread.
Ce script Python identifie les hôtes vulnérables à CVE-2025-29927, une vulnérabilité d'autorisation inappropriée dans le middleware Next.js pouvant permettre un contournement de l'authentification. Le script vérifie l'utilisation de Next.js, identifie la version, détecte l'en-tête x-middleware-subrequest et teste les contournements d'authentification potentiels sur des routes spécifiées.
AVERTISSEMENT : Ce script est destiné à des fins éducatives et aux audits de sécurité autorisés uniquement. Toute utilisation non autorisée sur des systèmes sans autorisation explicite est illégale et contraire à l'éthique.
routes.txt avec des routes par défaut s'il n'est pas fourni.requirements.txtClonez ou téléchargez ce dépôt : git clone <REPOSITORY_URL> cd cve-2025-29927-scanner
Créez et activez un environnement virtuel (facultatif, mais recommandé) : python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows
Installez les dépendances : pip install -r requirements.txt
Préparez un fichier hosts.txt avec une liste d'hôtes (un par ligne). Exemple :
example.com
subdomain.example.com
another-site.com
(Facultatif) Préparez un fichier routes.txt avec les routes à tester (une par ligne). Exemple :
api/auth
dashboard
admin
S'il n'est pas fourni, le script créera automatiquement un routes.txt avec des routes par défaut.
Lancez le script :
Arguments :
-f, --file : Fichier contenant la liste des hôtes (obligatoire).
-r, --routes : Fichier contenant la liste des routes (facultatif ; utilise routes.txt s'il n'est pas spécifié).
-t, --threads : Nombre maximum de threads (par défaut : 10).
Consultez les résultats dans la sortie du terminal.
Exemple de sortie
File routes.txt created with default routes.
Starting scan on 3 hosts with 3 routes...
Scan results:
------------------------------------------------------------
Host: https://example.com
Next.js detected: True
Version: 13.5.6
x-middleware-subrequest header: True
Vulnerable (version): True
Authentication bypass possible: True
Status: VULNERABLE
------------------------------------------------------------
Les dépendances sont listées dans requirements.txt :
Les contributions sont les bienvenues.