Новые уязвимости в React приводят к утечке секретов и облегчают DoS‑атаки

react server components,уязвимости,dos,утечка исходного кода,rce,cve-2025-55182,react2shell

Обнаружены новые критические уязвимости в React Server Components: CVE-2025-55184, CVE-2025-67779 (DoS) и CVE-2025-55183 (утечка кода). Они позволяют вызывать отказ в обслуживании серверов и раскрывать исходный код. Ранее исправленная уязвимость React2Shell также остаётся подверженной новым атакам. Рекомендуется срочное обновление.

Если вы используете React Server Components (RSC), вас, кажется, не обойдут стороной проблемы с безопасностью. В дополнение к ранее обнаруженным уязвимостям, вновь выявленные ошибки позволяют злоумышленникам вызывать отказ в обслуживании уязвимых серверов и потенциально раскрывать исходный код Server Functions. Поэтому всем, кто использует RSC или фреймворки с его поддержкой, рекомендуется срочно установить обновления.

Последние уязвимости — два бага высокого уровня критичности, приводящие к отказу в обслуживании (DoS), отслеживаемые как CVE-2025-55184 и CVE-2025-67779 (CVSS 7.5), а также уязвимость, позволяющая раскрыть исходный код, отслеживаемая как CVE-2025-55183 (CVSS 5.3) — были обнаружены исследователями безопасности, которые пытались найти слабые места в исправлении предыдущей критической уязвимости React, которая активно эксплуатируется.

CVE-2025-55182, уязвимость на стороне сервера React, получившая название “React2Shell”, раскрытая и исправленная 3 декабря, позволяет выполнять удалённое выполнение кода (RCE). Исследователи отслеживают по меньшей мере 15 различных кластеров вторжений только за последние 24 часа.

Уязвимости высокого уровня критичности, приводящие к отказу в обслуживании (CVE-2025-55184 и CVE-2025-67779), могут быть использованы путём отправки специально сформированного HTTP-запроса на любой конечный эндпоинт серверной функции, что вызывает бесконечный цикл, зависающий процесс сервера и потребляющий ресурсы процессора.

“Это создаёт вектор уязвимости, посредством которого злоумышленник может лишить пользователей доступа к продукту и потенциально повлиять на производительность серверной среды”, — говорится в сообщении команды React.

Исследователи RyotaK и Shinsaku Nomura обнаружили и сообщили об этих DoS-уязвимостях в Meta, разработчика этой библиотеки с открытым исходным кодом.

CVE-2025-55183, уязвимость средней степени критичности, позволяющая раскрыть исходный код, требует наличия специфической серверной функции, которая явно или неявно раскрывает аргумент, преобразованный в строковый формат.

Однако, при условии её существования, эта уязвимость может быть использована через вредоносный HTTP-запрос для утечки секретных данных, жёстко закодированных в исходном коде. Секреты времени выполнения, такие как process.env.SECRET, не подвержены этой уязвимости.

React выразил благодарность Эндрю Макферсону за обнаружение этой уязвимости, позволяющей утечку секретных данных.

Все три новых CVE присутствуют в тех же пакетах и версиях, что и CVE-2025-55182. Это версии 19.0.0, 19.0.1, 19.0.2, 19.1.0, 19.1.1, 19.1.2, 19.2.0, 19.2.1 и 19.2.2 пакетов react-server-dom-webpack, react-server-dom-parcel и react-server-dom-turbopack.

Стоит отметить, что предыдущие исправленные версии для React2Shell по-прежнему уязвимы к этим новым ошибкам.

“Если вы уже обновились в связи с критической уязвимостью безопасности на прошлой неделе, вам потребуется обновиться снова”, — говорится в оповещении о безопасности от четверга. “Если вы обновились до версий 19.0.2, 19.1.3 и 19.2.2, эти исправления неполны, и вам потребуется обновиться снова”.

По состоянию на среду, более 50 организаций из различных секторов пострадали от React2Shell, по данным Unit 42 компании Palo Alto Networks. Злоумышленники из Северной Кореи и Китая злоупотребляют этой уязвимостью.

В оповещении от пятницы компания Coalition, занимающаяся вопросами безопасности и киберстрахования, сравнила React2Shell с уязвимостью Log4Shell 2021 года (CVE-2021-44228), которая привела к сотням атак программ-вымогателей.