В популярном фреймворке Next.js выявлена критическая уязвимость, которая позволяет обойти проверку авторизации, реализованную через middleware.
Middleware (функция промежуточной обработки) — это набор функций, которые последовательно обрабатывают поступающий к веб-приложению запрос. Одним из этапов обработки запроса является проверка доступа к защищенным областям веб-приложения.
Для предотвращения запуска бесконечных циклов рекурсивными запросами Next.js при обработке запроса использует внутренний заголовок x-middleware-subrequest
. Но если злоумышленник самостоятельно передаст этот заголовок с нужным значением, то Next.js пропустит этап обработки запроса в middleware (например, проверку наличия cookie
авторизации), и пользователь сможет получить прямой доступ к защищенным разделам веб-приложения.
В настоящий момент уязвимости подвержены все версии фреймворка от 11.1.4
до 15.2.2
. Для устранения уязвимости рекомендуется произвести обновление фреймворка до актуальной версии.
Немезида ВАФ защищает от эксплуатации этой уязвимости за счет оперативно выпущенного виртуального патча.