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-запрос. Аутентификация не требуется. Взаимодействие пользователя не нужно. Один вредоносный запрос — и ваш сервер скомпрометирован.
Визуализация процесса атаки
- Злоумышленник создаёт вредоносный RSC пакет
- Пакет отправляется через HTTP POST на уязвимый эндпоинт
- Сервер десериализует пакет без проверки
- Вредоносный код выполняется с привилегиями сервера
- Полная компрометация сервера достигнута
Как это работает?
Уязвимость эксплуатирует небезопасную обработку специально сформированных, повреждённых 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 | УЯЗВИМЫЙ | ИСПРАВЛЕН |
|---|---|---|
| React | 19.0.0, 19.1.x, 19.2.0 | 19.0.1, 19.1.2, 19.2.1 |
| Next.js 15.0 | 15.0.0 - 15.0.4 | 15.0.5 |
| Next.js 15.1 | 15.1.0 - 15.1.8 | 15.1.9 |
| Next.js 15.2 | 15.2.0 - 15.2.5 | 15.2.6 |
| Next.js 16.0 | 16.0.0 - 16.0.6 | 16.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-уязвимости, неправильные конфигурации и угрозы безопасности.
Начать бесплатное сканирование