1.3Kпросмотров
29 января 2026 г.
📷 ФотоScore: 1.5K
⚠️ DoS в React Server Components: один POST и продакшн лёг Казалось, после громкой RCE (CVE-2025-55182) в React Server Components (RSC) можно выдохнуть, но нет. Исследователи из Winfunc, Flatt Security и Tencent нашли новую уязвимость — CVE-2026-23864, которая бьет не по конфиденциальности, а по доступности: любой RSC-сервер можно отправить в нокаут тривиальным запросом, минуя любые формы авторизации. На радарах СКИПА: • ~26 000 хостов, использующих уязвимую цепочку React / Next.js
• 8 500+ доступных извне, потенциально уязвимы. • Что происходит внутри корпоративных сетей — остается за кадром. Клиенты PentOps были своевременно уведомлены. 💥 Суть уязвимости В парсере react-server-dom, который обрабатывает Server Actions, есть фундаментальная асимметрия:
крошечный POST-запрос от атакующего → неконтролируемая рекурсия / аллокация памяти на сервере. Результат:
✖️ 100% CPU
✖️ Memory spike
✖️ Node.js падает с OOM или зависает
✖️ Сервис перестаёт отвечать Уязвимость детектируется как на уровне библиотек React, так и в готовой инфраструктуре Next.js, поэтому под удар попадает не отдельная реализация, а вся экосистема RSC. 👻 Активная эксплуатация
Фиксируются сигналы In-the-Wild. После публикации PoC для предыдущих уязвимостей, злоумышленники начали активно фаззить RSC-эндпоинты.
Для атаки достаточно знать, что сайт написан на Next.js App Router. Это увеличивает вероятность автоматизированных атак. 🧱 Уязвимые версии и цепочка зависимостей
Здесь важно понимать: вы уязвимы, если используете затронутую версию React напрямую ИЛИ транзитивно через фреймворк. • React: ветки 19.0.0 – 19.2.3.
• Next.js: версии 13.x – 16.x (включает зависимости react-server-dom-webpack).
• Экосистема: react-router, waku, @parcel/rsc – все, кто внедрил экспериментальные RSC. 🚨 Индикаторы атаки (IoC)
• L7-аномалии: POST-запросы к эндпоинтам с заголовками RSC или Next-Router-State-Tree, содержащие аномально глубокую вложенность JSON (рекурсивные массивы) или флаги командной строки (-f, --). • Ресурсный паттерн: Синхронный всплеск CPU до 100% и резкий рост потребления RAM (Memory Spike) при обработке единичного входящего POST-пакета. • Runtime-логи: Задержки Event Loop более 500 мс и циклические перезапуски процессов Node.js с кодом 137 (OOM Killer). 🛡 Рекомендации по защите 1. Срочное обновиться до актуальных версий! • React: Переход на версии 19.0.4, 19.1.5, 19.2.4 и выше. • Next.js: Обновление до 15.0.8, 15.5.10 или 16.1.5+. Важно: Если вы используете Next.js 13 или 14, вы находитесь в зоне максимального риска – официальных исправлений для этих веток не будет. 2. Настройте WAF на детектирование аномально глубокой вложенности или специфических цепочек объектов в POST-запросах к RSC-эндпоинтам (обычно содержат заголовок Next-Router-State-Tree или RSC). Ограничьте количество POST-запросов к API-роутам с одного IP. 3. В контейнеризованных средах жестко ограничьте лимиты памяти. Это позволит перезагрузить конкретный упавший под, не затрагивая соседние сервисы.