React 19.2.4: Патч CVE-2026-23864 против DoS в RSC без авторизации
-

React 19.2.4 вышел с патчем для CVE-2026-23864 - это фикс нескольких DoS-уязвимостей в React Server Components. Злоумышленники шлют специально crafted HTTP-запросы на Server Function endpoints, и сервер валится: крашится, жрёт всю память или CPU до бесконечности.
Это критично для RSC-серверов без авторизации - атака низкой сложности, по сети, без прав. Патч закрывает дыры, которые пропустили предыдущие фиксы. Обновление спасает от серверных падений в проде. Зачем читать: разберём, что сломано, как фиксится и что проверить в своём стеке.
Что такое CVE-2026-23864 и почему это боль
Уязвимость бьёт по React Server Components - архитектуре, где сервер рендерит компоненты и шлёт их клиенту. Предыдущие патчи на DoS были неполными, и research’еры нашли новые векторы: infinite loops в десериализации, неконтролируемое потребление ресурсов. Злоумышленник просто кидает запрос на endpoint Server Functions, и бум - OOM, краш или 100% CPU.
Это не RCE, но DoS high severity с CVSS 7.5: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H. Аffects даже apps без явных Server Functions, если RSC в стеке. Next.js 13-16 на App Router тоже в зоне риска - один запрос, и твой сервер на нуле. Фреймворки типа Parcel, Turbopack, Webpack под колпаком. Реальный сценарий: ботнет шлёт такие запросы, и твой RSC-сервер off-line без шансов.
Вот ключевые проблемы, которые фиксит патч:
- Infinite loops в десериализации: crafted payload заставляет парсер зациклиться, жрёт CPU.
- Out-of-memory: неконтролируемый аллокейшн объектов из untrusted data.
- Server crashes: CWE-400 и CWE-502 - uncontrolled resources и bad deserialization.
Параметр Значение Severity High (7.5) Attack Vector Network, no auth Impact Availability only Complexity Low Затронутые пакеты и версии
Под удар попали три основных пакета для RSC: react-server-dom-webpack, react-server-dom-parcel и react-server-dom-turbopack. Уязвимы версии от 19.0.0 до 19.2.3 - это свежие релизы, так что если не апдейтил вручную, то сидишь на уязвимке. Даже если не юзаешь Server Functions явно, RSC-архитектура может быть в фоне через фреймворк.
Патч бэкпорчен в 19.0.4, 19.1.5 и 19.2.4 - апгрейд на любой из них решает проблему. Next.js тоже выпустил фиксы, но корень в React-пакетах. Проверь package.json: если видишь эти либы в уязвимом range, беги апдейтить. В проде без апдейта - лотерея, особенно если endpoints открыты.
Список affected версий:
- react-server-dom-webpack: 19.0.0-19.2.3
- react-server-dom-parcel: 19.0.0-19.2.3
- react-server-dom-turbopack: 19.0.0-19.2.3
Пакет Уязвимые версии Патченные react-server-dom-webpack19.0.0–19.2.3 19.0.4, 19.1.5, 19.2.4 react-server-dom-parcel19.0.0–19.2.3 19.0.4, 19.1.5, 19.2.4 react-server-dom-turbopack19.0.0–19.2.3 19.0.4, 19.1.5, 19.2.4 Как апдейтить и проверить фикс
Апдейт - это пара команд в терминале, но с нюансами. Для чистого React: npm update или yarn upgrade на патченные версии. В Next.js юзай codemod:
npx @next/codemod@canary upgrade latest- он подтянет всё нужное, включая React deps. После апдейта запусти тесты на RSC-рендер и нагрузь endpoints самодельными payloads, чтоб убедиться.Не забудь: если SSR/RSC в проде без rate limiting или auth, добавь middleware для защиты. Линтеры типа eslint-plugin-security могут флагить потенциальные дыры. В dev-режиме Turbopack/Webpack теперь safer парсят payloads. Пересобери бандл и деплой - кофе ещё горячий.
Шаги для апдейта:
- Проверь версии:
npm ls react-server-dom-* - Апгрейдь:
npm i react-server-dom-webpack@19.2.4(и аналоги) - Для Next.js:
npx @next/codemod@canary upgrade latest - Тестируй: нагрузь endpoints с crafted requests.
- Деплой и мониторь логи на OOM/CPU spikes.
Пример быстрого чека в package.json:
{ "react-server-dom-webpack": "^19.2.4" }За кулисами патча: что фиксили
React-тим закрыла неполные фиксы из прошлых CVE - теперь парсер RSC жёстче валидирует payloads, лимитирует глубину десериализации и аллокейшн. Это не ломает legit трафик, но блочит crafted атаки. Нюанс: если кастомные Server Functions парсят untrusted data вручную, добавь свою валидацию поверх патча. В 19.2.4 оптимизировали memory handling - меньше OOM даже на валидных больших payloads.
Фикс бэкпорчен аккуратно, без breaking changes в API. Если юзаешь RSC с фреймворками, проверь их changelogs - Next.js уже синхрон. В будущем жди больше scrutiny на RSC, т.к. это killer-feature для perf, но security на первом месте.
Ключевые изменения в патче:
- Лимиты на recursion depth в deserializer.
- Resource quotas для CPU/memory per request.
- Enhanced validation для Server Function args.
RSC без DoS: что мониторить дальше
Патч 19.2.4 делает RSC-серверы устойчивыми к этим DoS, но дыры в custom коде или misconfigs остаются. Подумай о rate limiting на RSC-endpoints и auth wrappers - без них открытые серверы по-прежнему магнит для ботов.
В RSC-экосистеме жди эволюции: новые хуки для secure parsing, встроенный DoS-защитник. Если стек на 19.x, обновляйся сразу - это не optional, а must-have для продакшена.
Здравствуйте! Похоже, вас заинтересовала эта беседа, но у вас ещё нет аккаунта.
Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост мог бы стать ещё лучше 💗
Зарегистрироваться Войти© 2024 - 2026 ExLends, Inc. Все права защищены.