FixVibe
Covered by FixVibecritical

CVE-2025-29927: Next.js Обход авторизации промежуточного программного обеспечения

Критическая уязвимость в Next.js позволяет злоумышленникам обходить проверки авторизации, реализованные в промежуточном программном обеспечении. Подменяя внутренние заголовки, внешние запросы могут маскироваться под авторизованные подзапросы, что приводит к несанкционированному доступу к защищенным маршрутам и данным.

CVE-2025-29927GHSA-F82V-JWR5-MFFWCWE-863CWE-285

Влияние

Злоумышленник может обойти логику безопасности и проверки авторизации в приложениях Next.js, потенциально получив полный доступ к ограниченным ресурсам [S1]. Эта уязвимость классифицируется как критическая с оценкой CVSS 9,1, поскольку она не требует никаких привилегий и может быть использована по сети без взаимодействия с пользователем. [S2].

Основная причина

Уязвимость связана с тем, как Next.js обрабатывает внутренние подзапросы в своей архитектуре промежуточного программного обеспечения [S1]. Приложения, использующие промежуточное программное обеспечение для авторизации (CWE-863), уязвимы, если они не проверяют должным образом происхождение внутренних заголовков [S2]. В частности, внешний злоумышленник может включить в свой запрос заголовок x-middleware-subrequest, чтобы заставить платформу рассматривать запрос как уже авторизованную внутреннюю операцию, эффективно пропуская логику безопасности промежуточного программного обеспечения [S1].

Как FixVibe проверяет это

FixVibe теперь включает это как закрытую активную проверку. После проверки домена active.nextjs.middleware-bypass-cve-2025-29927 ищет конечные точки Next.js, которые отклоняют базовый запрос, а затем запускает узкую контрольную проверку на наличие условия обхода промежуточного программного обеспечения. Он сообщает только тогда, когда защищенный маршрут меняется с запрещенного на доступный в соответствии с CVE-2025-29927, а запрос на исправление фокусирует исправление на обновлении Next.js и блокировании внутреннего заголовка промежуточного программного обеспечения на границе до тех пор, пока не будет исправлено.

Конкретные исправления

  • Обновите Next.js: немедленно обновите приложение до исправленной версии: 12.3.5, 13.5.9, 14.2.25 или 15.2.3 [S1, S2].
  • Фильтрация заголовков вручную. Если немедленное обновление невозможно, настройте брандмауэр веб-приложений (WAF) или обратный прокси-сервер так, чтобы он удалял заголовок x-middleware-subrequest из всех входящих внешних запросов до того, как они достигнут сервера Next.js [S1].
  • Развертывание Vercel: Развертывания, размещенные на Vercel, активно защищены брандмауэром платформы [S2].