
Vulnerabilità critica in next.js : Bypass dell'autenticazione del middleware
Questo repository è fornito esclusivamente a scopo didattico. Non ho scoperto io questa vulnerabilità - si tratta di una dimostrazione e spiegazione di un problema di sicurezza divulgato pubblicamente. Sfruttare queste conoscenze per attaccare sistemi vulnerabili senza autorizzazione è illegale e contrario all'etica.
Se usi Next.js per le tue app in produzione, fermati immediatamente e controlla il numero di versione. C'è una grave vulnerabilità nel middleware che potrebbe lasciare completamente esposto il tuo intero sistema di autenticazione.
Questa vulnerabilità critica è stata divulgata in modo responsabile e corretta, quindi condivido questa dimostrazione didattica per aiutare gli sviluppatori a comprendere il problema e proteggere i propri sistemi.
Il problema risiede nel modo in cui Next.js gestisce l'header HTTP interno x-middleware-subrequest. Questo header era stato progettato per prevenire la ricorsione del middleware, ma gli attaccanti possono manipolarlo per bypassare completamente l'esecuzione del middleware.
Pensa a cosa significa: qualsiasi sicurezza basata sul middleware potrebbe essere inefficace:
Ci sono state segnalazioni di questa vulnerabilità sfruttata in natura per accedere a pannelli di amministrazione, dati utente e persino informazioni finanziarie. Alcune organizzazioni hanno esposto i propri dati sensibili senza nemmeno saperlo.
Questo repository include:
# Rimuove l'header problematico
proxy_set_header x-middleware-subrequest "";
# Fa la stessa cosa per gli utenti Apache
RequestHeader unset x-middleware-subrequest
// Correzione rapida nel middleware finché non puoi aggiornare correttamente
app.use((req, res, next) => {
delete req.headers['x-middleware-subrequest'];
next();
});
Questa vulnerabilità rafforza importanti principi di sicurezza:
Dai un'occhiata a queste risorse per creare app Next.js più sicure:
Questo repository fornisce una spiegazione tecnica e una dimostrazione della CVE-2025-29927 esclusivamente a scopo didattico. Tutte le informazioni si basano su dettagli divulgati pubblicamente e già corretti con patch. Se scopri vulnerabilità di sicurezza in qualsiasi software, segui sempre le pratiche di divulgazione responsabile:
Questa vulnerabilità dimostra come anche framework ben progettati possano avere gravi falle di sicurezza. Resta vigile là fuori e rendi l'aggiornamento delle dipendenze parte del tuo flusso di lavoro abituale.
Sentiti libero di contattarmi per domande o se hai bisogno di aiuto per implementare una di queste correzioni!