
Шаблон Nuclei для обнаружения CVE-2025-29927 — уязвимости обхода аутентификации в Next.js
Шаблон Nuclei для обнаружения CVE-2025-29927 — уязвимости обхода аутентификации в Next.js. Если вы хотите понять, как именно работает эта уязвимость, можете прочитать отличную статью оригинальных исследователей здесь
Этот шаблон довольно прост. Он делает две вещи: сначала определяет, что сайт использует Next.js, а затем проверяет, использует ли цель промежуточное ПО (middleware) по наличию определённых заголовков ответа. Этот шаблон выявляет случаи, когда оба условия выполняются на основе HTTP-заголовков. Я написал этот шаблон, чтобы помочь командам быстро искать CVE-2025-29927 в своих веб-приложениях; любое другое использование этого шаблона строго не рекомендуется.
Этот шаблон не найдёт каждое приложение, уязвимое к CVE-2025-29927. Шаблон не передаёт x-middleware-subrequest: true для проверки возможности атаки на приложение. Кроме того, важно отметить, что положительное совпадение обоих условий НЕ означает, что приложение точно уязвимо. Если ваше приложение не использует заголовки ответов middleware, оно не будет обнаружено этим шаблоном. С другой стороны, поскольку невозможно определить версию используемого Next.js, мой шаблон будет помечать как уязвимые и те приложения, которые уже получили исправление.
Если вы раньше не пользовались Nuclei, следуйте инструкциям здесь: https://github.com/projectdiscovery/nuclei
Вам, вероятно, потребуется добавить параметр -fr для включения "следования перенаправлениям".
nuclei -u https://example.com -t ./CVE-2025-29927-6mile.yaml -fr

Используйте аргумент -l в Nuclei для загрузки списка URL-адресов из файла.
nuclei -l websites.list -t ./CVE-2025-29927-6mile.yaml -fr -silent
