Rilevamento e mitigazione di una vulnerabilità di elusione dell'autorizzazione in Next.js
Analisi riassuntiva
Il 21 marzo 2025, è stata divulgata pubblicamente una nuova vulnerabilità di elusione dell'autorizzazione in Next.js con un punteggio CVSS di 9,1, a cui è stato assegnato il codice CVE‑2025‑29927 . Questa vulnerabilità consente ai criminali di eludere i controlli di autenticazione e autorizzazione sfruttando una falla nella gestione del middleware del sistema, il che consente di accedere in modo non autorizzato ai percorsi sensibili.
La vulnerabilità può essere sfruttata senza autenticazione, concedendo un accesso non autorizzato ai percorsi protetti.
L'Akamai Security Intelligence Group (SIG) ha osservato iniziali tentativi di sfruttamento di questa vulnerabilità su potenziali server.
In questo blog, i ricercatori di Akamai forniscono dettagli approfonditi sulla vulnerabilità, sulle tecniche di sfruttamento e sulle strategie di rilevamento.
La soluzione Akamai Adaptive Security Engine Rapid Rule fornisce una protezione automatica ai clienti di Akamai App & API Protector,
Che cos'è la vulnerabilità CVE-2025-29927?
La CVE‑2025‑29927 è una vulnerabilità di elusione dell'autorizzazione in Next.js, un sistema React open source ampiamente usato per aiutare a diminuire i tempi di caricamento dei siti web e ad aumentare il valore del SEO. La vulnerabilità è stata resa pubblica il 21 marzo 2025, con un punteggio CVSS molto critico pari a 9,1. Sfruttando questa vulnerabilità, un criminale potrebbe eludere i controlli di sicurezza basati sul middleware eseguendo lo spoofing di un'intestazione concepita esclusivamente per un uso interno.
Il sistema Next.js utilizza le intestazioni per evitare i cicli infiniti durante l'elaborazione delle richieste, ma il suo valore prevedibile (in base al percorso del file del middleware) può essere facilmente imitato da un criminale. Includendo il valore corretto dell'intestazione in una richiesta HTTP, un criminale può, in alcuni casi, "ingannare" l'applicazione riguardo ai controlli di autenticazione e autorizzazione per ottenere l'accesso alle risorse protette.
Dettagli della vulnerabilità
Il sistema Next.js utilizza un middleware per elaborare le richieste HTTP in entrata prima che raggiungano la logica principale dell'applicazione. Il middleware, di solito, esegue importanti operazioni, come l'autenticazione, l'autorizzazione e l'impostazione delle direttive di sicurezza. Il sistema utilizza un'intestazione interna denominata "x‑middleware‑subrequest", che viene usata per gestire questi processi, insieme ai flussi delle richieste interne, e per prevenire problemi come la ricorrenza infinita durante la gestione delle richieste.
Il problema fondamentale consiste nell'errata verifica dell'intestazione "x‑middleware‑subrequest". Questa intestazione è concepita solo per un uso interno, ma il suo valore è prevedibile in quanto, spesso, basato sulla denominazione o sulla posizione del file del middleware. Di conseguenza, un criminale può creare una semplice richiesta che imita l'intestazione di questa richiesta, forzando il sistema a trattare la richiesta come se fosse interna ed eludendo i controlli critici.
Quando il middleware viene bypassato, l'app non esegue le sue normali routine di sicurezza, come la verifica delle identità o dei ruoli, causando potenziali accessi non autorizzati a parti dell'applicazione sensibili o riservate. Quando vengono soddisfatte tutte queste condizioni, questa vulnerabilità risulta particolarmente pericolosa perché può essere sfruttata senza richiedere prima l'autenticazione.
La vulnerabilità CVE-2025-29927 interessa più versioni del sistema Next.js. Mentre il metodo di sfruttamento della vulnerabilità varia leggermente a seconda delle versioni, il problema fondamentale rimane lo stesso. Nelle versioni precedenti, questa vulnerabilità veniva sfruttata creando un'intestazione della richiesta contenente come valore _middleware , mentre nelle versioni più recenti, viene utilizzato il valore middleware o src/middleware per allinearlo alla struttura del file del middleware e alle convenzioni di denominazione aggiornate.
La vulnerabilità è stata corretta nelle versioni 14.2.25 e 15.2.3 di Next.js, ma potrebbe ancora essere presente nei server con versioni di Next.js precedenti alla 14.2.25 (per 14.x) e 15.2.3 (per 15.x), nonché con le versioni dalla 11.1.4 alla 13.5. 6.
Traffico degli attacchi osservato
L'Akamai SIG ha osservato iniziali tentativi di sfruttamento di questa vulnerabilità su potenziali server. Tra i payload identificati, una tecnica degna di nota prevede l'utilizzo dell'intestazione x-middleware-request con il valore src/middleware:src/middleware:src/middleware:src/middleware:src/middleware.
Questo approccio simula più sottorichieste interne all'interno di una singola richiesta, attivando la logica di reindirizzamento interna di Next.js, che somiglia molto a vari exploit PoC (Proof-of-Concept) pubblicamente disponibili (Figura 1).
Sono state osservate anche altre varianti di attacco che prendono di mira nello specifico versioni precedenti del sistema Next.js. La Figure 2 illustra una variante che ha utilizzato il payload pages/_middleware=.
Mitigazione con Akamai App & API Protector
Il 24 marzo 2025, il team Akamai Threat Research ha implementato anche una soluzione Adaptive Security Engine Rapid Rule in grado di rilevare questa CVE (Figura 3).
3000958 : elusione dell'autorizzazione del middleware in Next.js (CVE-2025-29927)
I clienti di App & API Protector possono usufruire di una copertura completa tramite questa nuova regola (Figura 4).
La versione 1 della regola rapida ha l'azione predefinita impostata sulla generazione di avvisi. Per bloccare i tentativi di attacco, i clienti possono impostare l'azione della regola su Rifiuta dopo aver configurato i trigger per l'eliminazione dei falsi positivi.
Tuttavia, abbiamo osservato che alcuni clienti possono utilizzare in modo legittimo questa intestazione con il nome del middleware come relativo valore. Pertanto, si consiglia di cambiare questa azione della regola impostandola su Rifiuta senza condurre ulteriori analisi né applicare altre condizioni.
Riepilogo
L'Akamai SIG continuerà a monitorare, segnalare e creare mitigazioni per minacce come questa per i clienti dell'azienda e per la più vasta comunità della sicurezza. Per tenervi aggiornati sulle ultime novità dell'Akamai SIG, potete consultare la nostra home page sulle ricerche e seguirci sui social media.