
Функциональный эксплойт для CVE-2025-29927, критический обход авторизации в промежуточном ПО Next.js. Отправляет специально сформированные HTTP-запросы с заголовком x-middleware-subrequest, чтобы пропустить проверки аутентификации на защищенных маршрутах.
Этот репозиторий содержит рабочий эксплойт для CVE-2025-29927, критической уязвимости обхода авторизации в Next.js. Уязвимость позволяет злоумышленникам обходить проверки аутентификации и авторизации, основанные на middleware, получая несанкционированный доступ к защищённым маршрутам.
CVE-2025-29927 — это критическая уязвимость в middleware Next.js, которая позволяет злоумышленникам обходить проверки аутентификации и авторизации, отправляя специально созданный HTTP-запрос, содержащий внутренний заголовок x-middleware-subrequest. Этот заголовок предназначен для внутреннего использования, чтобы предотвратить бесконечную рекурсию при выполнении middleware. Однако его неправильная обработка позволяет злоумышленникам использовать этот механизм для пропуска проверок middleware, потенциально открывая доступ к чувствительным административным маршрутам и защищённому контенту.
Уязвимость затрагивает следующие версии Next.js:
Приложения, использующие middleware для критически важных задач, таких как аутентификация или проверки безопасности, и работающие на уязвимых версиях, подвержены этой атаке. Примечательно, что развёртывания, размещённые на Vercel, автоматически защищены от этой уязвимости.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python3 exploit.py --host <IP> --port <PORT> --path <PATH> --method <METHOD>