Una vulnerabilità critica recentemente individuata nel middleware di Next.js avrebbe messo a rischio la sicurezza di diverse applicazioni web. Scoperta dai ricercatori Rachid e Yasser Allam, la falla consentirebbe di bypassare i controlli di autorizzazione semplicemente manipolando l'intestazione HTTP x-middleware-subrequest
. Se impostata su un determinato valore, che varia a seconda della versione del framework JavaScript ma è facilmente individuabile, il middleware potrebbe essere completamente ignorato. Ciò permetterebbe l'accesso alle risorse protette.
La soluzione alla vulnerabilità di Next.js, quando possibile
Il problema è stato risolto nelle versioni 14.x e 15.x del framework. Resta però presente in tutte le versioni precedenti del progetto. Per queste ultime l'unica mitigazione possibile consiste nel bloccare le richieste esterne che contengono l'header incriminato. Le applicazioni ospitate su infrastrutture Cloud based come Vercel e Netlify sono invece già protette automaticamente.
Secondo i ricercatori di sicurezza a cui si deve la scoperta, in alcuni casi le conseguenze di un attacco basato su tale vulnerabilità potrebbero essere particolarmente rilevanti. Questo soprattutto per quei progetti che si affidano al middleware per gestire l'autenticazione. La falla è stata segnalata a febbraio e inizialmente si pensava colpisse solo le versioni dalla 12.0.0 alla 12.0.7. Successivamente è stato confermato che ad essere affette sarebbero in pratica tutte le release disponibili.
Una falla di livello critico
La vulnerabilità è stata associata ufficialmente al codice CVE-2025-29927 e ha ricevuto un rating di livello critico. Il primo aggiornamento correttivo (nella versione 15.2.3) è stato pubblicato il 18 marzo 2025 e poi seguito pochi giorni dopo da un avviso di sicurezza.
A questo proposito il team di Next.js avrebbe ammesso alcune carenze nella comunicazione del problema e promesso di istituire una mailing list dedicata per evitare il ripetersi di episodi simili in futuro. Nella documentazione ufficiale è stato rimosso inoltre il suggerimento di usare il middleware per gestire le autorizzazioni, i controlli essenziali dovrebbero essere quindi eseguiti in prossimità delle fonti dei dati.