Исследователи в области кибербезопасности обнаружили две новые уязвимости в React Server Components (RSC), которые делают серверы уязвимыми для атак типа «отказ в обслуживании» (Denial-of-Service, DoS) и потенциальной утечки исходного кода. Проблемы были выявлены в ходе анализа исправлений для критической уязвимости «React2Shell», о которой сообщалось на прошлой неделе. Хотя новые недостатки не позволяют злоумышленнику выполнить произвольный код (Remote Code Execution, RCE), они представляют значительные риски для стабильности работы приложений и конфиденциальности данных.
Детали уязвимостей
Наиболее серьезная из выявленных проблем - это уязвимость, приводящая к DoS-атаке, оцененная как критическая. Эксплуатация возможна путем отправки специально сформированного HTTP-запроса на конечную точку сервера. Когда React обрабатывает такой вредоносный запрос, запускается бесконечный цикл. Это приводит к зависанию серверного процесса и чрезмерному потреблению ресурсов центрального процессора. В результате сервер может завершить работу с ошибкой или стать полностью недоступным для законных пользователей. Данной уязвимости присвоен идентификатор CVE-2025-55184 с высоким уровнем опасности и оценкой CVSS 7.5.
Вторая обнаруженная уязвимость, CVE-2025-55183, классифицирована как среднеопасная (CVSS 5.3) и связана с несанкционированным раскрытием исходного кода. Исследователь установил, что при определенных условиях вредоносный запрос может заставить серверную функцию вернуть в виде строки свой собственный исходный код. Подобная утечка способна раскрыть конфиденциальную бизнес-логику или внутренние ключи доступа к базам данных, встроенные прямо в код функции.
Команда разработчиков React предупредила, что обновления, выпущенные ранее на этой неделе (версии 19.0.2, 19.1.3 и 19.2.2), являются неполными и не устраняют новые угрозы. Следовательно, разработчики, которые уже обновили свои системы, должны немедленно повторно установить патчи до только что выпущенных исправленных версий. Невыполнение этого требования оставляет приложения под угрозой.
Уязвимости затрагивают широко используемые пакеты, включая react-server-dom-webpack, react-server-dom-parcel и react-server-dom-turbopack. Соответственно, популярные фреймворки, такие как Next.js, React Router и Waku, которые полагаются на эти компоненты, также являются уязвимыми. Пользователям React Native, применяющим упомянутые серверные пакеты в конфигурации monorepo, рекомендуется обновить именно эти специфические пакеты, не меняя основную версию React, чтобы избежать проблем с совместимостью.
Обнаружение этих уязвимостей вскоре после критического инцидента «React2Shell» подчеркивает важность тщательного аудита безопасности после выпуска патчей. Зачастую исправление одной проблемы может непреднамеренно выявить или создать другие уязвимости. Для специалистов по безопасности (SOC) и разработчиков это служит напоминанием о необходимости комплексного тестирования и мониторинга после применения обновлений.
Эксперты рекомендуют организациям, использующим React Server Components, незамедлительно проверить свои версии зависимостей и применить последние исправления. Кроме того, следует рассмотреть возможность усиления мониторинга сетевой активности и внедрения решений для предотвращения вторжений (Intrusion Prevention System, IPS) для обнаружения аномальных паттернов запросов, которые могут указывать на попытки эксплуатации этих уязвимостей. Своевременное обновление зависимостей остается одним из самых эффективных базовых методов защиты в современной разработке программного обеспечения.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2025-55184
- https://www.cve.org/CVERecord?id=CVE-2025-67779
- https://www.cve.org/CVERecord?id=CVE-2025-55183
- https://react.dev/blog/2025/12/11/denial-of-service-and-source-code-exposure-in-react-server-components