Найти в Дзене

React2Shell: Критическая RCE в React 19

CVE-2025-55182 — удалённое выполнение кода без аутентификации
Активная эксплуатация китайскими группами угроз в течение нескольких часов после раскрытия 3 декабря 2025 года была раскрыта критическая уязвимость Remote Code Execution в протоколе Flight, используемом React Server Components. React2Shell позволяет атакующему выполнить произвольный код на сервере без аутентификации через отправку специально сформированного HTTP-запроса. Глобальная угроза React используется на десятках миллионов сайтов по всему миру: По консервативным оценкам: более 11 миллионов сайтов используют React (данные 2025 года) По другим данным: свыше 55 миллионов сайтов построены на React Популярные сервисы: Facebook, Instagram, Netflix, Airbnb, Uber, WhatsApp Web Корпоративный сектор: тысячи enterprise-приложений Государственные сервисы: множество правительственных порталов Китайские группы угроз начали эксплуатировать уязвимость в течение нескольких часов после её публичного раскрытия, по данным Amazon AWS Sec
Оглавление

CVE-2025-55182 — удалённое выполнение кода без аутентификации
Активная эксплуатация китайскими группами угроз в течение нескольких часов после раскрытия

3 декабря 2025 года была раскрыта критическая уязвимость Remote Code Execution в протоколе Flight, используемом React Server Components. React2Shell позволяет атакующему выполнить произвольный код на сервере без аутентификации через отправку специально сформированного HTTP-запроса.

Глобальная угроза

React используется на десятках миллионов сайтов по всему миру:

  • По консервативным оценкам: более 11 миллионов сайтов используют React (данные 2025 года)
  • По другим данным: свыше 55 миллионов сайтов построены на React
  • Популярные сервисы: Facebook, Instagram, Netflix, Airbnb, Uber, WhatsApp Web
  • Корпоративный сектор: тысячи enterprise-приложений
  • Государственные сервисы: множество правительственных порталов

Китайские группы угроз начали эксплуатировать уязвимость в течение нескольких часов после её публичного раскрытия, по данным Amazon AWS Security.

⚠️ Немедленные действия

  1. Проверьте версию React в вашем проекте немедленно
  2. Обновите до безопасной версии (19.0.1, 19.1.2 или 19.2.1)
  3. Проверьте логи сервера на предмет подозрительной активности
  4. Проверьте процессы — нет ли новых пользователей или майнеров
  5. Измените все пароли и ключи если обнаружена компрометация

Реальный случай компрометации

Опыт администратора: от уязвимости до майнера

Что произошло

Администратор сервера обнаружил компрометацию после эксплуатации уязвимости CVE-2025-55182. В системе был обнаружен:

  • Новый пользователь в системе — создан без ведома администратора
  • Криптомайнер XMRig — активно использовал CPU для майнинга Monero
  • Высокая нагрузка CPU — до 100% на всех ядрах
  • Подозрительные процессы — скрытые под легитимными именами
  • Backdoor для постоянного доступа — возможность повторного входа

Как это обнаружили

Команды для обнаружения компрометации

# Проверка новых пользователей
cat /etc/passwd | tail -n 10

# Поиск подозрительных процессов
ps aux | grep -i xmrig
ps aux | grep -i miner
ps aux | sort -nrk 3,3 | head -n 10 # Топ по CPU

# Проверка сетевых соединений
netstat -tunlp | grep ESTABLISHED
ss -tunlp | grep :3333 # Порт майнинг-пула

# Поиск подозрительных файлов
find / -name "*xmrig*"
2>/dev/null
find / -name "*miner*"
2>/dev/null
find /tmp -type f -executable
2>/dev/null

# Проверка crontab
crontab -l
cat /etc/crontab
ls -la /etc/cron.d/

# Проверка автозагрузки
systemctl list-units --type=service --state=running
ls -la /etc/systemd/system/

Типичные признаки майнера XMRig

  • Процесс с высоким CPU: 90-100% нагрузка на ядра
  • Подозрительные имена: kswapd0, systemd-journal, [kworker/0:1]
  • Сетевые соединения: к адресам майнинг-пулов (порты 3333, 5555, 7777)
  • Файлы в /tmp или /var/tmp: исполняемые без расширения
  • Скрытые процессы: начинаются с точки или пробела
  • Автозапуск: через cron, systemd или rc.local

Что делать при обнаружении

Немедленные действия

# 1. Остановить подозрительные процессы
killall -9 xmrig
pkill -9 -f miner

# 2. Удалить созданного пользователя
userdel -r suspicious_user

# 3. Найти и удалить майнер
find / -name "*xmrig*" -exec rm -f {} \;
find /tmp /var/tmp -type f -executable -delete

# 4. Очистить crontab
crontab -r
rm -f /etc/cron.d/*suspicious*

# 5. Удалить systemd сервисы
systemctl stop suspicious.service
systemctl disable suspicious.service
rm /etc/systemd/system/suspicious.service

# 6. Проверить SSH ключи
cat ~/.ssh/authorized_keys
rm ~/.ssh/authorized_keys # если есть неизвестные ключи

# 7. Изменить все пароли
passwd root
passwd your_user

# 8. Проверить и восстановить файлы
rpm -Va # для CentOS/RHEL
debsums -c # для Debian/Ubuntu

# 9. Обновить систему
apt update && apt upgrade -y # Debian/Ubuntu
yum update -y # CentOS/RHEL

# 10. Перезагрузить сервер
reboot

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

Обновление до безопасной версии

Безопасные версии

  • React 19.0.1+ (для ветки 19.0.x)
  • React 19.1.2+ (для ветки 19.1.x)
  • React 19.2.1+ (для ветки 19.2.x — рекомендуется)

Быстрое обновление (NPM)

# 1. Обновить React до последней безопасной версии
npm install react@19.2.1 react-dom@19.2.1

# 2. Автоматическое исправление всех уязвимостей
npm audit fix

# 3. Если требуется force update
npm audit fix --force

# 4. Обновить зависимости
npm update

# 5. Проверить что уязвимость устранена
npm audit

# Должно вывести:
# found 0 vulnerabilities ✅

Заключение

Критически важная информация

Ключевые выводы

  • CVE-2025-55182 (React2Shell) — критическая уязвимость с CVSS 10.0/10.0
  • Активная эксплуатация происходит прямо сейчас
  • 11-55 миллионов сайтов потенциально уязвимы
  • Не требуется аутентификация для эксплуатации
  • Полная компрометация сервера возможна за считанные секунды
  • Реальные случаи взлома с установкой майнеров XMRig
React2Shell (CVE-2025-55182): Критическая уязвимость CVSS 10.0 — Срочное обновление!