FixVibe
Covered by FixVibecritical

CVE-2025-29927: Next.js Bypass autorizzazione middleware

Una vulnerabilità critica in Next.js consente agli aggressori di aggirare i controlli di autorizzazione implementati nel middleware. Effettuando lo spoofing delle intestazioni interne, le richieste esterne possono mascherarsi da richieste secondarie autorizzate, portando ad accesso non autorizzato a percorsi e dati protetti.

CVE-2025-29927GHSA-F82V-JWR5-MFFWCWE-863CWE-285

Impatto

Un utente malintenzionato può aggirare la logica di sicurezza e i controlli di autorizzazione nelle applicazioni Next.js, ottenendo potenzialmente l'accesso completo alle risorse limitate [S1]. Questa vulnerabilità è classificata come critica con un punteggio CVSS di 9,1 perché non richiede privilegi e può essere sfruttata in rete senza l'interazione dell'utente [S2].

Causa principale

La vulnerabilità deriva dal modo in cui Next.js elabora le sotto-richieste interne all'interno della sua architettura middleware [S1]. Le applicazioni che si basano sul middleware per l'autorizzazione (CWE-863) sono vulnerabili se non convalidano correttamente l'origine delle intestazioni interne [S2]. Nello specifico, un utente malintenzionato esterno può includere l'intestazione x-middleware-subrequest nella propria richiesta per indurre il framework a considerare la richiesta come un'operazione interna già autorizzata, ignorando di fatto la logica di sicurezza del middleware [S1].

Come lo esegue il test FixVibe

FixVibe ora lo include come controllo attivo con cancello. Dopo la verifica del dominio, active.nextjs.middleware-bypass-cve-2025-29927 cerca gli endpoint Next.js che negano una richiesta di base, quindi esegue un'analisi di controllo ristretta per la condizione di bypass del middleware. Segnala solo quando il percorso protetto cambia da negato ad accessibile in modo coerente con CVE-2025-29927 e la richiesta di correzione mantiene la riparazione focalizzata sull'aggiornamento di Next.js e sul blocco dell'intestazione del middleware interno sul perimetro finché non viene applicata la patch.

Correzioni concrete

  • Aggiorna Next.js: aggiorna immediatamente la tua applicazione a una versione con patch: 12.3.5, 13.5.9, 14.2.25 o 15.2.3 [S1, S2].
  • Filtro intestazione manuale: se non è possibile un aggiornamento immediato, configura il tuo Web Application Firewall (WAF) o il proxy inverso per rimuovere l'intestazione x-middleware-subrequest da tutte le richieste esterne in entrata prima che raggiungano il server Next.js [S1].
  • Distribuzione Vercel: le distribuzioni ospitate su Vercel sono protette in modo proattivo dal firewall della piattaforma [S2].