
Simuliert CVE-2025-29927, eine kritische Next.js-Sicherheitslücke, die es Angreifern ermöglicht, die Middleware-Autorisierung zu umgehen, indem sie den internen HTTP-Header x-middleware-subrequest ausnutzen. Demonstriert unbefugten Zugriff auf geschützte Routen und bietet Gegenmaßnahmen.
Dieses Repository demonstriert die Ausnutzung von CVE-2025-29927, einer kritischen Schwachstelle in Next.js, die Angreifern ermöglicht, auf Middleware basierende Autorisierungsprüfungen zu umgehen. Der Fehler resultiert aus unsachgemäßer Handhabung des internen HTTP-Headers x-middleware-subrequest, was unbefugten Zugriff auf geschützte Routen ermöglicht.
Dieses Projekt ist ausschließlich für Bildungs- und Forschungszwecke bestimmt. Die unbefugte Nutzung gegen Systeme ohne ausdrückliche Genehmigung ist illegal und unethisch. Die Autoren übernehmen keine Verantwortung für jeglichen Missbrauch dieses Codes.
CVE-2025-29927 betrifft Next.js-Versionen vor:
Die Schwachstelle tritt auf, wenn ein Angreifer den Header x-middleware-subrequest in eine HTTP-Anfrage einfügt. Next.js interpretiert diesen Header als interne Unteranforderung und überspringt dadurch die Middleware-Ausführung, einschließlich kritischer Autorisierungsprüfungen.
git clone https://github.com/Knotsecurity/CVE-2025-29927-NextJs-Middleware-Simulation.git
cd cve-2025-29927-simulation
npm install
npm run dev
Die Anwendung enthält eine geschützte Route unter /admin, die durch Middleware geschützt ist, die die Benutzerauthentifizierung überprüft.
/login auf und melden Sie sich mit [email protected]:password123 an./admin zuzugreifen. Sie erhalten einen Fehler wegen fehlender Berechtigung.x-middleware-subrequest: middleware hinzu, senden Sie dann die Anfrage./admin haben.Um sich vor dieser Schwachstelle zu schützen:
npm install next@latest
x-middleware-subrequest abzuweisen.