В Next.js и React Server Components обнаружены и исправлены множественные критические уязвимости

vulnerability

Команда Vercel выпустила срочные обновления безопасности для фреймворка Next.js, устранив целую волну уязвимостей высокого уровня опасности. Проблемы затронули версии от 13.x до 16.x. Уведомления об ошибках, опубликованные разработчиком Тимом Нейткенсом на GitHub, описывают риски, которым подверглись веб-приложения. Среди них - неаутентифицированный отказ в обслуживании (DoS), подделка запросов на стороне сервера (SSRF - атака, при которой сервер выполняет запросы к внутренним ресурсам от имени злоумышленника) и многочисленные обходы аутентификации в промежуточном программном обеспечении.

Патчи вышли в версиях 15.5.16 и 16.2.5. Разработчикам, использующим React-фреймворк в production-среде, настоятельно рекомендуют как можно скорее установить обновления.

Уязвимости в промежуточном ПО и обход аутентификации

Значительная часть предупреждений касается слабых мест, которые позволяют атакующим обойти проверки авторизации, выполняемые промежуточным программным обеспечением (middleware - слой, обрабатывающий запросы до того, как они попадут в основную логику приложения) или обратным прокси. Уязвимость, зарегистрированная как CVE-2026-44575, затрагивает конфигурации с App Router. Специально сформированные URL с расширениями .rsc и префиксами сегментов могут получить доступ к защищённому контенту, минуя правила, заданные в middleware.

Другая проблема, CVE-2026-44574, требует низких привилегий. Однако она позволяет злоумышленнику вставить поддельные параметры запроса, меняющие значения динамических маршрутов. Фактически это скрывает путь от защиты промежуточного ПО, одновременно отдавая защищённые данные.

Кроме того, старые конфигурации с Pages Router и поддержкой интернационализации (i18n - механизм локализации интерфейса) столкнулись с уязвимостью CVE-2026-44573. В таких системах атакующие могут отправлять запросы данных без указания локали и получать JSON-файлы, формируемые при серверном рендеринге, не проходя проверки безопасности.

Атаки на доступность приложений

Доступность приложений серьёзно подорвана из-за двух крупных уязвимостей типа "отказ в обслуживании". Первая из них, отслеживаемая вышестоящим реестром CVE как CVE-2026-23870, существует в любой конечной точке Server Function (функция, выполняемая на сервере) App Router. Атакующий отправляет особый HTTP-запрос. При десериализации (восстановлении объекта из переданных данных) эта полезная нагрузка вызывает чрезмерное потребление вычислительных ресурсов центрального процессора, что практически останавливает незапатченные системы.

Вторая уязвимость высокого уровня - CVE-2026-44579 - нацелена на приложения, использующие Cache Components для частичного предварительного рендеринга. Вредоносные POST-запросы способны вызвать взаимную блокировку (deadlock - состояние, когда два или более процесса бесконечно ожидают друг друга) при обработке тела запроса. В результате соединения остаются открытыми до полного исчерпания файловых дескрипторов и мощности сервера. Администраторам, которые не могут немедленно установить патч, Vercel строго рекомендует блокировать на граничных узлах входящие запросы, содержащие заголовок Next-Resume.

Подделка запросов на стороне сервера через веб-сокеты

Собственные развёртывания Next.js, использующие встроенный сервер Node.js, уязвимы для атаки CVE-2026-44578 - критической проблемы типа SSRF. Манипулируя запросами на обновление через веб-сокеты (протокол двусторонней связи в реальном времени), неаутентифицированные злоумышленники могут заставить сервер передавать трафик на произвольные внутренние или внешние адреса. Это грозит раскрытием внутренних сетей и конечных точек метаданных облачных провайдеров. К счастью, развёртывания, размещённые на платформе Vercel, этой уязвимостью не затронуты.

Что делать разработчикам?

Специалистам по информационной безопасности и разработчикам необходимо срочно обновить пакеты Next.js до версий 15.5.16 или 16.2.5. Если применить обновления немедленно невозможно, Vercel советует проводить проверку авторизации непосредственно внутри логики страницы, а не полагаться исключительно на сопоставление путей в middleware. Временными мерами защиты также служат блокировка неавторизованных запросов на обновление через веб-сокеты на уровне обратного прокси и удаление внутренних заголовков из ненадёжного трафика.

Помимо этих критических исправлений, цикл релиза Next.js 16.2 принёс улучшения производительности и более 200 исправлений для сборщика Turbopack, что упрощает разработку и ускоряет сборку проектов. Однако именно вопросы безопасности сейчас выходят на первый план. Пренебрежение установкой патчей может привести к компрометации серверных ресурсов, утечке конфиденциальных данных и длительным простоям бизнес-критичных приложений.

Ссылки

Комментарии: 0