
Demo von CVE-2025-29927 für den Kurs zur sicheren Programmierung
Dies ist eine Demo von CVE-2025-29927, einer kritischen Schwachstelle in Next.js, die es erlaubte, die Middleware mit einem bestimmten Header zu umgehen.
Der Header x-middleware-subrequest war dazu gedacht, Endlosschleifen in der Middleware zu verhindern. Jedes Mal, wenn die Anfrage die Middleware erreicht, wird der Wert middleware an diesen Header angehängt, und wenn er 5 Mal angehängt wurde, lässt die Middleware die Anfrage durch. Das Senden einer Anfrage mit dem Wert middleware:middleware:middleware:middleware:middleware ermöglicht es, die Middleware zu umgehen.
Nach dem Klonen des Repositorys und dem Bauen des Projekts führen Sie den Entwicklungsserver aus:
npm run dev
Greifen Sie über den Link http://localhost:3000 auf die Anwendung in Ihrem Browser zu.
Das Ziel dieser Anwendung ist es, zur /cool-Seite zu gelangen. Der Submit-Button führt zu dieser Seite, aber die Anfrage wird von der Middleware abgefangen und zu /uncool umgeleitet.


Jetzt können wir die gleiche Anfrage senden, aber mit dem manipulierten Header, und die Middleware wird uns erlauben, zur /cool-Seite zu gelangen. Dies kann mit den Entwicklertools des Browsers durchgeführt werden.

