«Упс, мы не дочинили». Создатели React признали, что прошлый патч был так себе

leer en español

21947
«Упс, мы не дочинили». Создатели React признали, что прошлый патч был так себе

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

image

Долгая история с React2Shell, из-за которой у многих веб-проектов до сих пор возникают сбои, получила продолжение: выяснилось, что прежнее исправление проблемы было неполным. На фоне разбора этого случая в реализации React Server Components нашли ещё две уязвимости, а также выделили отдельный идентификатор для прежней недоработки.

Лиз Хёрдер из команды Vercel сообщила, что речь идёт о высокой по критичности проблеме, приводящей к отказу в обслуживании (CVE-2025-55184), и об уязвимости со средней оценкой, позволяющей получить скомпилированный исходный код Server Actions (CVE-2025-55183). При этом возможность удалённого выполнения кода эти ошибки не дают. Отдельно отмечается, что первоначальное исправление React2Shell не перекрывало атаки на отказ в обслуживании для всех типов нагрузок, что привело к появлению CVE-2025-67779.

В случае CVE-2025-55184 злоумышленник может отправить специально сформированный HTTP-запрос на любую конечную точку App Router, чтобы при десериализации «подвесить» серверный процесс и загрузить CPU. CVE-2025-55183 позволяет запросом добиться выдачи скомпилированного кода Server Actions, что может раскрыть бизнес-логику. Секреты при этом не должны утекать, если они не были жёстко прописаны прямо в коде.

Проблемы затрагивают версии 19.0.0, 19.0.1, 19.1.0, 19.1.1, 19.1.2, 19.2.0 и 19.2.1 пакетов react-server-dom-parcel, react-server-dom-webpack и react-server-dom-turbopack. Эти компоненты используются в Next.js (ветки 13.x, 14.x, 15.x и 16.x), а также могут встречаться в других фреймворках и плагинах, которые встраивают или зависят от реализации React Server Components.

Для снижения риска Vercel добавила новые правила и развернула их в Vercel WAF, чтобы автоматически защитить размещённые на платформе проекты без доплат. Однако в компании подчёркивают, что полагаться только на WAF нельзя, и рекомендуют как можно быстрее обновиться до версий с исправлениями. Уязвимости устранены в React 19.0.2, 19.1.3 и 19.2.2, а также в релизах Next.js 14.2.35, 15.0.7, 15.1.11, 15.2.8, 15.3.8, 15.4.10, 15.5.9, 15.6.0-canary.60, 16.0.10 и 16.1.0-canary.19.