4 декабря 2025 года исследователи опубликовали подробности о критической уязвимости CVE-2025-55182, оцененной в 10 баллов по шкале CVSS. Она получила неофициальное название React4Shell, так как затрагивает функциональность React Server Components (RSC), которая применяется в веб-приложениях, написанных с использованием библиотеки React. RSC позволяет ускорить процедуру рендеринга UI путем распределения задач между клиентом и сервером. Уязвимость относится к типу CWE-502 (десериализация недоверенных данных) и позволяет атакующему запускать команды, а также читать и писать файлы в доступных веб-приложению директориях от имени процессов сервера.
Краткий технический анализ
В основе React-приложений лежит компонентная модель. Это означает, что каждая часть приложения или фреймворка должна работать самостоятельно и предлагать другим компонентам понятные и простые методы взаимодействия. Такой подход позволяет достаточно гибко развивать приложения и добавлять новые функции, однако требует от пользователя скачивать большие объемы данных, из-за чего веб-приложения не всегда работают одинаково на разных устройствах. Именно поэтому была создана функциональность React Server Components.
В состав RSC входит компонент Server Actions, внутри которого и была найдена уязвимость. Чтобы добраться до уязвимой функции, достаточно отправить на сервер POST-запрос, включающий сериализованный набор данных для дальнейшего выполнения. Часть функциональности обработчика, который позволяет производить небезопасную десериализацию представим ниже:
Меры по снижению рисков
Мы настоятельно рекомендуем обновить соответствующие пакеты, установив патчи от разработчиков соответствующих модулей и бандлов.
Подверженные уязвимости версии компонентов React Server Components:
- react-server-dom-webpack (19.0.0, 19.1.0, 19.1.1, 19.2.0)
- react-server-dom-parcel (19.0.0, 19.1.0, 19.1.1, 19.2.0)
- react-server-dom-turbopack (19.0.0, 19.1.0, 19.1.1, 19.2.0)
Подтвержденные бандлы и модули, которые используют React Server Components:
- next
- react-router
- waku
- @parcel/rsc
- @vitejs/plugin-rsc
- rwsdk
Для предотвращения эксплуатации на время установки патчей стоит блокировать все запросы POST, содержащие нижеперечисленные ключевые слова в параметрах или теле запроса:
- #constructor
- #__proto__
- #prototype
- vm#runInThisContext
- vm#runInNewContext
- child_process#execSync
- child_process#execFileSync
- child_process#spawnSync
- module#_load
- module#createRequire
- fs#readFileSync
- fs#writeFileSync
- s#appendFileSync
Обнаружение попыток эксплуатации CVE-2025-55182 с помощью Kaspersky NGFW
Наши детектирующие правила обнаруживают POST-запросы, направленные на эксплуатацию CVE-2025-55182. Ниже показан пример обнаружения и блокирования решением Kaspersky NGFW попытки эксплуатации уязвимости.

Заключение
CVE-2025-55182 отличается простотой эксплуатации. Поскольку рабочий PoC уже опубликован, стоит ожидать, что в ближайшее время его возьмут на вооружение злоумышленники. Поэтому мы рекомендуем не откладывать патчи в долгий ящик.




CVE-2025-55182 в React Server Components: чем опасна и как защититься