React2Shell: уязвимость, которая потрясла React-экосистему
В конце 2025 года была обнаружена React2Shell (CVE-2025-55182) — уязвимость, позволяющая выполнить произвольный код на сервере через специально сконструированный React Server Component. Проблема затронула приложения, использующие серверные компоненты с определёнными паттернами обработки пользовательского ввода.
Суть проблемы
React Server Components выполняют код на сервере и передают результат клиенту. Если пользовательский ввод попадает в серверный компонент без надлежащей санитизации, атакующий может внедрить код, который выполнится с привилегиями сервера. React2Shell эксплуатировала именно этот вектор: через специально сформированный запрос можно было получить доступ к файловой системе, переменным окружения и внешним сервисам.
Почему это системная проблема
React2Shell стала символом более широкой тенденции: фронтенд-фреймворки берут на себя серверные функции (аутентификация, работа с БД, бизнес-логика), но стандарты безопасности для них остаются на уровне клиентского кода. Фронтенд-разработчики исторически не обучены думать о серверных уязвимостях — SQL-инъекциях, SSRF, десериализации. Теперь это их территория.
Патч был выпущен оперативно, но инцидент поставил вопрос: нужны ли фреймворкам уровня React формальные аудиты безопасности, как это принято для серверного ПО? Сообщество пока не пришло к консенсусу, но направление очевидно — безопасность фронтенда больше нельзя считать «чужой» проблемой.


