tg-me.com/shadow_group_tg/1047
Last Update:
Раскрыли подробности новой уязвимости в Next.JS CVE-2025-29927
. Уязвимость затрагивает все версии Next.js начиная с 11.1.4. Суть проблемы — некорректная обработка заголовка x-middleware-subrequest
, позволяющая полностью игнорировать middleware, включая проверку авторизации и перезапись путей.
Как это работает
Next.js использует x-middleware-subrequest
для внутренних нужд: он указывает, какие middleware уже были пройдены. Однако злоумышленник может сам подставить значение, указывающее, что middleware уже обработан, и тем самым обойти все проверки.
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware
x-middleware-subrequest: src/middleware:src/middleware:src/middleware:src/middleware:src/middleware
Пример запроса:
GET /admin/dashboard HTTP/1.1
Host: vulnerable.site
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware
Результат: Middleware полностью игнорируется, и запрос проходит, как будто пользователь авторизован.
Другие сценарии атак
Если middleware устанавливает Content-Security-Policy и другие заголовки - они будут проигнорированы.
Например, если сайт делает rewrite на основе геолокации, можно закэшировать "пустую" или ошибочную версию страницы, нарушив доступность для других.
Кого это касается
Приложения, использующие middleware для авторизации или других чувствительных задач. Если middleware не используется - уязвимость малозначима (кроме DoS-сценариев).
📖 Подробнее:
https://zhero-web-sec.github.io/research-and-things/nextjs-and-the-corrupt-middleware
#web #bac #cache #dos #csp