Лента угроз

CVE-2026-126187 — удалённое выполнение кода без аутентификации в React Server Components (react-server-dom-* исправлено в 19.0.9, 19.1.10, 19.2.9 и 19.3.1): разбор и исправление

CVE-2026-126187: RCE без аутентификации в react-server-dom-* (CVSS v4 9.5) при узких условиях. Исправлено в 19.0.9, 19.1.10, 19.2.9, 19.3.1.

Опубликовано 2026-11-12 Обновлено 2026-11-12 Последняя проверка 2026-11-12 7 мин чтения
На этой странице

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

Краткая сводка — БЮЛЛЕТЕНЬ
CVE
CVE-2026-126187 (GHSA-xqc2-xf4c-x3h3; React: Unauthenticated Remote Code Execution in React Server Components)
Тяжесть
CVSS v4.0 9.5 (Critical; вектор AV:N/AC:L/AT:P/PR:N/UI:N; присвоена GitHub). Анализ NVD ожидается по состоянию на 11 ноября 2026 года
Тип
Десериализация недоверенных данных (CWE-502)
Воздействие
Удалённое выполнение кода без аутентификации через специально сформированные данные. Бюллетень сообщает, что это затрагивает лишь крайне редкие случаи, когда ответы передают несколько типизированных массивов и значение, контролируемое атакующим
Затронуто
react-server-dom-webpack, -parcel и -turbopack версий 19.0.0–19.0.8, 19.1.0–19.1.9, 19.2.0–19.2.8 и 19.3.0
Исправление
19.0.9 / 19.1.10 / 19.2.9 / 19.3.1 (выпущены 14 октября 2026 года)
Опубликовано
10 ноября 2026 года (CVE и бюллетень GitHub)
Эксплуатация
Об эксплуатации не сообщается. По состоянию на 12 ноября 2026 года нет в KEV
9.5
CVSS v4 (GitHub)
Без аутентификации
Удалённое выполнение кода
Узкие условия
По бюллетеню
Эксплуатация не отмечена
Нет в KEV

Чем опасно ожидание

Аутентификация не нужна, а при успехе код выполняется на сервере (высокое воздействие на конфиденциальность, целостность и доступность). Узкие условия помогают, но уязвимости серверов, доступных из интернета, после публикации обычно изучают. Переход на опубликованную исправленную версию — небольшая задача, поэтому у этого сайта мало оснований откладывать её из-за строгих условий.

Что это за уязвимость

Бюллетень GitHub сообщает, что специально сформированные данные, нацеленные на фреймворки с поддержкой React Server Components, могут привести к удалённому выполнению кода. Классифицируется как CWE-502 (десериализация недоверенных данных).

  • Аутентификация не требуется (PR:N), работает по сети, взаимодействие пользователя не нужно (UI:N).
  • Бюллетень говорит, что это затрагивает лишь крайне редкие случаи, когда ответы передают несколько типизированных массивов и значение, контролируемое атакующим. AT:P в векторе CVSS v4 (требования для атаки присутствуют) отражает это ограничение (наша интерпретация).
  • Server Components выполняют код React на сервере. Уязвимость находится в пакетах, обрабатывающих этот трафик.
  • Бюллетень не описывает, как строятся данные, и точные условия, и этот сайт тоже не описывает.
  • В этом механизме уже появлялась критическая уязвимость. См. обзор уязвимостей Next.js и React.

Затронутые версии

ПунктПодробности
Пакетыreact-server-dom-webpack / react-server-dom-parcel / react-server-dom-turbopack
Затронутые версии19.0.0–19.0.8 / 19.1.0–19.1.9 / 19.2.0–19.2.8 / 19.3.0
Исправленные версии19.0.9 / 19.1.10 / 19.2.9 / 19.3.1
Не затронутоПриложения, чей код React не использует сервер; приложения, не использующие фреймворк, сборщик или плагин с поддержкой Server Components (по бюллетеню)
Обходные пути / смягчениеВ бюллетене не найдены
Next.jsОфициального заявления не найдено. Проверьте версии react-server-dom-* в зависимостях
  • Диапазоны версий взяты из текста бюллетеня GitHub. Запись CVE (зарегистрированная GitHub) формулирует версии иначе, и в её тексте есть опечатка, поэтому номера исправленных версий мы сверили с текстом бюллетеня и релизами React.
  • Три пакета устанавливаются в зависимости от вашего сборщика (webpack, Parcel или Turbopack). Если присутствует несколько, проверьте все.

Как проверить, затронуты ли вы

1

Проверьте, используете ли вы Server Components

Выясните, используете ли вы фреймворк с поддержкой Server Components, например App Router в Next.js. Приложение, где React работает только в браузере, по бюллетеню не затронуто.

2

Проверьте версии react-server-dom-* в lock-файле

Найдите в package-lock.json, pnpm-lock.yaml или yarn.lock react-server-dom-webpack, react-server-dom-parcel и react-server-dom-turbopack и проверьте, попадает ли версия в затронутые диапазоны выше. Они могут присутствовать как зависимость фреймворка, даже если вы не устанавливали их напрямую. Об автоматических проверках зависимостей см. мониторинг зависимостей с osv-scanner.

3

Проверьте версию фреймворка

Такие фреймворки, как Next.js, могут сами включать или закреплять react-server-dom-*. Проверьте официальные примечания к релизам и бюллетени фреймворка на предмет реакции на эту CVE. Когда мы проверили 12 ноября 2026 года, официального заявления Next.js мы не нашли.

Что делать сегодня

1

Перейдите на исправленную версию react-server-dom-* или новее (главный приоритет)

Используйте 19.0.9, 19.1.10, 19.2.9 или 19.3.1 либо новее, в соответствии с используемой веткой релизов. Для прямой зависимости поднимите версию пакета и обновите lock-файл.

2

Если вы работаете через фреймворк, ждите его обновления

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

3

Протестируйте после обновления, затем разверните

Проверьте страницы Server Components и Server Actions, затем разверните. После обновления снова проверьте версии в lock-файле.

4

Просмотрите журналы

Поищите подозрительные запросы к конечным точкам Server Components и неожиданные ошибки сервера до обновления. Об эксплуатации не сообщается, но журналы — единственное свидетельство, которое можно проверить.

Статус эксплуатации

  • Ни бюллетень, ни запись CVE не упоминают эксплуатацию.
  • CVE нет в каталоге KEV CISA (версия KEV 2026.11.10, проверено 12 ноября 2026 года).
  • NVD показывает «Received» и ещё не проанализировала её. Оценка CVSS v4 9.5 присвоена GitHub (CNA).
  • Исправленные релизы (14 октября) вышли примерно на четыре недели раньше CVE и бюллетеня (10 ноября). Примечания к релизам описывают лишь улучшение транспортного протокола и не говорят, что это исправление уязвимости.

Источники

Мы не утверждаем о воздействии на Next.js и подобные фреймворки, потому что официального заявления не найдено. Последняя проверка: 12 ноября 2026 года.

Читайте далее

FAQ

QЧто такое CVE-2026-126187?
A

Уязвимость десериализации недоверенных данных (CWE-502) в пакетах React Server Components: react-server-dom-webpack, react-server-dom-parcel и react-server-dom-turbopack. Бюллетень GitHub (GHSA-xqc2-xf4c-x3h3) сообщает, что специально сформированные данные, нацеленные на фреймворки с поддержкой React Server Components, могут привести к удалённому выполнению кода без аутентификации. CVSS v4 — 9.5 (Critical), присвоена GitHub.

QКакие версии затронуты и какие исправлены?
A

Три пакета версий с 19.0.0 по 19.0.8, с 19.1.0 по 19.1.9, с 19.2.0 по 19.2.8 и 19.3.0. Исправленные версии — 19.0.9, 19.1.10, 19.2.9 и 19.3.1, все выпущены в репозитории React 14 октября 2026 года.

QЗатронуто ли моё приложение?
A

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

QЗатронут ли Next.js?
A

Официального заявления мы не нашли. Когда мы проверили бюллетени безопасности и релизы vercel/next.js, ни в одном не упоминалась эта CVE. Если вы используете Next.js или другой фреймворк с Server Components, проверьте версии react-server-dom-* в зависимостях по lock-файлу.

QЕсть ли обходной путь?
A

В бюллетене не указаны обходной путь или меры смягчения. Исправление, на которое он указывает, — обновление до исправленной версии.

QЭксплуатируется ли она?
A

В проверенных нами источниках эксплуатации не найдено. По состоянию на 12 ноября 2026 года CVE нет в каталоге KEV CISA, а в бюллетене эксплуатация не упоминается.