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

Долгая история с 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.