CVE-2025-55182: Критическая RCE уязвимость в React — Ваше Next.js приложение уже взломано?

Критическая уязвимость удалённого выполнения кода в React Server Components активно эксплуатируется. Вот всё, что вам нужно знать.

9.8
Оценка CVSS
КРИТИЧЕСКАЯ СЕРЬЁЗНОСТЬ
Вектор атаки: Сеть
Зрелость эксплойта: Вооружён
Патч доступен: Да
Активная эксплуатация: Подтверждена

Кратко — Обновитесь сейчас!

  • CVE-2025-55182 — критическая RCE уязвимость в React Server Components
  • Злоумышленники могут выполнить произвольный код на вашем сервере одним HTTP-запросом
  • Активная эксплуатация замечена с 5 декабря 2025
  • Затронуты: React 19.x, Next.js 14.3+, 15.x, 16.x с App Router
  • Решение: Обновитесь до React 19.0.1/19.1.2/19.2.1 и Next.js 15.0.5+/16.0.8+

Что такое CVE-2025-55182?

CVE-2025-55182, получившая название "React2Shell" от исследователей безопасности, — это критическая уязвимость удалённого выполнения кода (RCE) в протоколе "Flight" React Server Components. Уязвимость возникает из-за небезопасной десериализации при обработке RSC-пакетов на сервере. Эта уязвимость позволяет неаутентифицированному злоумышленнику выполнить произвольный JavaScript-код на вашем сервере, просто отправив специально сформированный HTTP-запрос. Аутентификация не требуется. Взаимодействие пользователя не нужно. Один вредоносный запрос — и ваш сервер скомпрометирован.
Визуализация процесса атаки
  1. Злоумышленник создаёт вредоносный RSC пакет
  2. Пакет отправляется через HTTP POST на уязвимый эндпоинт
  3. Сервер десериализует пакет без проверки
  4. Вредоносный код выполняется с привилегиями сервера
  5. Полная компрометация сервера достигнута

Как это работает?

Уязвимость эксплуатирует небезопасную обработку специально сформированных, повреждённых RSC-пакетов. Когда сервер получает такой пакет, он не проверяет структуру должным образом, позволяя данным злоумышленника влиять на логику выполнения на стороне сервера. Процесс атаки прост: 1. Злоумышленник отправляет повреждённый RSC-пакет через HTTP POST запрос 2. Сервер десериализует пакет без надлежащей проверки 3. Код злоумышленника выполняется с привилегиями сервера 4. Полная компрометация сервера достигнута Особенно опасно то, что конфигурации по умолчанию create-next-app уязвимы. Если вы развернули приложение Next.js с App Router за последний год, вы, вероятно, под угрозой.
Пример структуры вредоносного пакета
POST /_rsc HTTP/1.1
Host: vulnerable-app.com
Content-Type: text/x-component

0:["$","$L1",null,{"__rsc_payload__":
  {"$$typeof":"__MALICIOUS_MARKER__",
   "type":{"$$typeof":"EXPLOIT_FUNC",
   "render":"__ARBITRARY_CODE__"}}
}]

Это упрощённое представление вектора атаки. Реальный эксплойт использует специально сформированные данные протокола Flight.

Как обнаружить попытки эксплуатации
  • [01]Необычные POST запросы к /_rsc или эндпоинтам Server Component
  • [02]Некорректные заголовки Content-Type с RSC пакетами
  • [03]Неожиданное порождение процессов на веб-серверах
  • [04]Исходящие соединения от сервера к неизвестным IP
  • [05]Доступ к переменным окружения в логах сервера

Влияние и серьёзность

Оценка CVSS: 9.8 (Критическая) Влияние этой уязвимости невозможно переоценить: • Неаутентифицированный RCE: Злоумышленникам нужно только отправить сформированный HTTP-запрос • Уязвимы конфигурации по умолчанию: Стандартные развёртывания create-next-app под угрозой • Почти 100% надёжность: Тестирование показало высокую стабильность эксплуатации • Активная эксплуатация: Реальные атаки начались 5 декабря 2025 Исследователи безопасности из Wiz обнаружили активные кампании эксплуатации, включая: - Сбор учётных данных из переменных окружения - Развёртывание криптомайнеров - Установку обратных шеллов для постоянного доступа - Попытки эксфильтрации данных
Сравнение версий
PackageУЯЗВИМЫЙИСПРАВЛЕН
React19.0.0, 19.1.x, 19.2.019.0.1, 19.1.2, 19.2.1
Next.js 15.015.0.0 - 15.0.415.0.5
Next.js 15.115.1.0 - 15.1.815.1.9
Next.js 15.215.2.0 - 15.2.515.2.6
Next.js 16.016.0.0 - 16.0.616.0.8

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

Пакеты React (react-server-dom-webpack, react-server-dom-parcel и др.): • 19.0.0 (все сборки) • 19.1.0, 19.1.1 • 19.2.0 Next.js (с включённым App Router): • 14.3.0-canary.77 и последующие canary-релизы • 15.0.0 до 15.0.4 • 15.1.0 до 15.1.8 • 15.2.0 до 15.2.5 • 15.3.0 до 15.3.5 • 15.4.0 до 15.4.7 • 15.5.0 до 15.5.6 • 16.0.0 до 16.0.6 Другие затронутые фреймворки: • Vite RSC plugin • Parcel RSC • React Router (с RSC) • RedwoodSDK • Waku

Как исправить

Немедленное обновление — единственное надёжное решение. Обновитесь до этих исправленных версий: React: • 19.0.1 • 19.1.2 • 19.2.1 Next.js: • 14.x stable (не затронуты) • 15.0.5 • 15.1.9 • 15.2.6 • 15.3.6 • 15.4.8 • 15.5.7 • 16.0.8 Для обновления выполните:
# Для npm
npm update react react-dom next

# Для yarn
yarn upgrade react react-dom next

# Для pnpm
pnpm update react react-dom next

# Проверьте ваши версии
npm list react next

Как проверить уязвимость

Выполните эти команды для проверки текущих версий:
# Проверить версию React
npm list react

# Проверить версию Next.js
npm list next

# Проверить использование App Router
# Ищите директорию 'app' в корне проекта
Если вы используете любую из затронутых версий, перечисленных выше, и App Router (директория 'app'), вы уязвимы и должны обновиться немедленно. TEPTEZ может автоматически сканировать ваши приложения на эту и другие CVE-уязвимости. Наша платформа обнаруживает уязвимые зависимости и предоставляет рекомендации по устранению.

Хронология

• Ноябрь 2025: Уязвимость обнаружена исследователями безопасности • 2 декабря 2025: Команда React уведомлена • 3 декабря 2025: Опубликовано официальное уведомление от команды React • 4 декабря 2025: Выпущены патчи для всех затронутых версий • 5 декабря 2025: Обнаружена активная эксплуатация • 6 декабря 2025: Wiz публикует детальный технический анализ

Ссылки

Защитите ваши приложения с TEPTEZ

Не ждите следующего zero-day. TEPTEZ непрерывно мониторит ваши приложения на CVE-уязвимости, неправильные конфигурации и угрозы безопасности.

Начать бесплатное сканирование