CVE-2025-55182
React Server Components: критическое выполнение кода без аутентификации
CVE-2025-55182 затрагивает уязвимые пакеты React Server Components и может привести к удалённому выполнению кода без аутентификации через специально сформированный запрос к Server Function endpoint. Проверьте lockfile и транзитивные зависимости, особенно в Next.js и других RSC-совместимых сборках, затем обновите затронутые пакеты до исправленных версий.
Кому нужно проверить
Разработчикам и DevSecOps-командам приложений на Next.js, React Router, Waku, Redwood и других сборках с React Server Components. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.
В чём риск
Специально сформированный HTTP-запрос к endpoint Server Function может вызвать небезопасную десериализацию и удалённое выполнение кода на сервере. При компрометации процесса могут быть затронуты данные, секреты окружения и доступы, доступные приложению.
Затронутые версии
Официальный advisory React указывает react-server-dom-webpack, react-server-dom-parcel и react-server-dom-turbopack версий 19.0.0, 19.1.0, 19.1.1 и 19.2.0. Проблема относится к приложениям, где используется серверная часть React Server Components; приложение без сервера и окружение без поддержки RSC по объявлению React не затронуты.
Исправленные версии
Исправления доступны в версиях 19.0.1, 19.1.2 и 19.2.1 соответствующих react-server-dom-пакетов. Для Next.js и других интеграций следуйте актуальным инструкциям их разработчиков: косвенное обновление только react или react-dom не доказывает устранение уязвимого серверного пакета.
Что сделать
- 1Проверьте package.json, lockfile и фактически установленное дерево зависимостей: ищите react-server-dom-webpack, react-server-dom-parcel и react-server-dom-turbopack, включая транзитивные пакеты. Не ограничивайтесь проверкой только прямой версии react.
- 2Определите, поддерживает ли проект React Server Components и есть ли серверная часть. Если приложение статическое и не использует сервер или RSC-интеграцию, зафиксируйте это как проверенное основание для исключения, а не как предположение.
- 3Обновите затронутые пакеты минимум до 19.0.1, 19.1.2 или 19.2.1 в соответствующей ветке. Для Next.js используйте официальную исправленную версию вашей release line и проверьте peer-зависимости перед изменением lockfile.
- 4Сначала соберите и протестируйте обновление на staging: проверьте Server Actions/Functions, авторизацию, SSR/RSC-навигацию, фоновые задачи и интеграции. После выкладки проверьте логи запросов и ошибки сериализации.
- 5Не считайте CDN, WAF или временные меры провайдера заменой обновлению: команда React прямо рекомендует установить исправление. Если endpoint был публичен, сохраните журналы для расследования и оцените ротацию доступных приложению секретов при наличии признаков компрометации.
- 6После проверки зафиксируйте версии в lockfile и добавьте CVE в контроль зависимостей, чтобы транзитивное возвращение уязвимого пакета не осталось незамеченным.
Как не подпустить ботов к сайту
BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.
Первоисточники
Снизьте шанс атаки до того, как бот дойдёт до сайта
Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.