Киберпреступники используют уязвимость React2Shell для распространения сложных бэкдоров на Linux

information security

Команда исследователей безопасности Huntress зафиксировала активную эксплуатацию критической уязвимости в React Server Components, получившей идентификатор CVE-2025-55182 и название React2Shell. Начиная с 8 декабря, злоумышленники атакуют организации из различных секторов, включая строительную и развлекательную индустрии. В рамках постэксплуатации злоумышленники развертывают криптомайнеры, а также сложные вредоносные программы для Linux, включая бэкдор PeerBlight, туннелирующий инструмент CowTunnel и имплант ZinFoq. Эксперты настоятельно рекомендуют немедленно установить обновления в связи с легкостью эксплуатации данной уязвимости.

Описание

Уязвимость React2Shell, оцененная в 10.0 баллов по шкале CVSS, представляет собой проблему небезопасной десериализации в механизме обработки данных React Server Components. Она позволяет неаутентифицированному злоумышленнику выполнить произвольный код на сервере, отправив всего один специально сформированный HTTP-запрос. Хотя CVE-2025-55182 относится к базовой реализации в React, пользователи также могут столкнуться с упоминанием CVE-2025-66478, который был отклонен как дубликат и относится к эффектам в приложениях на Next.js.

Техническая суть уязвимости заключается в злоупотреблении обработкой так называемых "обещаний" (Promises) в JavaScript. Эксплойт обманывает механизм React Flight, заставляя его считать, что определенный "чанк" (chunk) - строительный блок веб-страницы - уже обработан. Подделав состояние запроса, злоумышленник получает контроль над путем выполнения кода, что в конечном итоге приводит к выполнению вредоносных инструкций. Этот метод напоминает классические SQL-инъекции, где в корректный синтаксис встраивается зловредный код.

Исследователи Huntress проанализировали несколько случаев эксплуатации. В одном из инцидентов, произошедшем 4 декабря, атакующие после успешного взлома экземпляра Next.js пытались загрузить на Windows-систему скрипт с помощью "curl", а затем криптомайнер для Linux через "wget". Спустя несколько часов последовала попытка загрузки бэкдора для Linux. Во всех случаях злоумышленники выполняли разведывательные команды, такие как "whoami" и "echo $((41*271))", для проверки возможности выполнения команд и определения операционной системы.

Атаки демонстрируют высокую степень автоматизации. Злоумышленники используют сканер "react2shell-scanner" с открытым исходным кодом для поиска уязвимых инстансов Next.js перед атакой. Интересно, что автоматизированные скрипты пытаются развернуть полезную нагрузку (payload) для Linux даже на Windows-системах, что указывает на отсутствие проверки операционной системы в инструментарии.

В ходе постэксплуатации исследователи обнаружили несколько сложных вредоносных программ. Одной из самых примечательных является бэкдор для Linux, названный PeerBlight. Этот бэкдор использует распределенную хэш-таблицу (DHT) сети BitTorrent в качестве резервного механизма командования и управления (C2). Это делает его устойчивым к традиционным методам борьбы с вредоносной инфраструктурой, таким как изъятие доменов. PeerBlight устанавливает устойчивость (persistence) через systemd или Upstart, а также маскирует свой процесс, выдавая себя за системный поток ядра "[ksoftirqd]".

Другая обнаруженная полезная нагрузка, CowTunnel, действует как обратный прокси, устанавливая исходящие соединения с контролируемыми злоумышленниками серверами FRP. Это позволяет обходить межсетевые экраны, которые обычно разрешают исходящий трафик. CowTunnel предоставляет функционал для туннелирования различных протоколов, включая удаленный доступ через telnet, SOCKS5 для pivoting-атак и TCP-прокси.

Третий имплант, ZinFoq, написан на Go и представляет собой полнофункциональный постэксплуатационный фреймворк. Он поддерживает интерактивные обратные оболочки, файловые операции, туннелирование SOCKS5 и технику "timestomping" для противодействия криминалистическому анализу путем изменения временных меток файлов. ZinFoq также активно маскируется, переименовывая свой процесс в памяти, чтобы имитировать одну из 44 легитимных служб Linux.

Кроме того, в кампании был замечен вариант ботнета Kaiji, который сочетает возможности DDoS-атак с механизмами устойчивости и злоупотреблением аппаратным watchdog-таймером для принудительной перезагрузки системы в случае завершения вредоносного процесса.

Для защиты от этой угрозы критически важно немедленно обновить затронутые пакеты. Уязвимость затрагивает несколько версий "react-server-dom-webpack", "react-server-dom-parcel" и "react-server-dom-turbopack". Исправления доступны в версиях 19.0.1, 19.1.2 и 19.2.1. Для пользователей Next.js компания Vercel выпустила утилиту "fix-react2shell-next", которая автоматически проверяет наличие уязвимости и применяет необходимые патчи. Учитывая критический характер уязвимости и активную эксплуатацию в дикой природе, промедление с обновлениями создает серьезный риск для безопасности веб-приложений, использующих React Server Components.

Индикаторы компрометации

IPv4

  • 185.247.224.41
  • 23.226.71.197
  • 23.226.71.200
  • 23.226.71.209
  • 49.51.230.175

Domains

  • pool.hashvault.pro

URLs

  • http://103.135.101.15/wocaosinm.sh
  • http://216.158.232.43:12000/sex.sh
  • http://31.56.27.97/scripts/4thepool_miner.sh
  • http://38.165.44.205/1
  • http://38.165.44.205/k
  • http://39.97.229.220:8006/httd
  • http://45.32.158.54/5e51aff54626ef7f/x86_64
  • http://45.76.155.14/vim
  • http://help.093214.xyz:9731/FF22
  • http://help.093214.xyz:9731/fn32.sh
  • http://keep.camdvr.org:8000/BREAKABLE_PARABLE5
  • http://keep.camdvr.org:8000/d5.sh
  • http://vps-zap812595-1.zap-srv.com:3000/sex.sh
  • https://api.qtss.cc:443/en/about?source=redhat&id=v1.0
  • https://api.qtss.cc:443/en/about?source=redhat&id=v1.1
  • https://api.qtss.cc:443/en/about?source=redhat&id=v1.2

SHA256

  • 0f0f9c339fcc267ec3d560c7168c56f607232cbeb158cb02a0818720a54e72ce
  • 2cd41569e8698403340412936b653200005c59f2ff3d39d203f433adb2687e7f
  • 3854862bb3ee623f95d91fa15b504e2bbc30e23f1a15ad7b18aedb127998c79c
  • 65d840b059e01f273d0a169562b3b368051cfb003e301cc2e4f6a7d1907c224a
  • 776850a1e6d6915e9bf35aa83554616129acd94e3a3f6673bd6ddaec530f4273
  • a605a70d031577c83c093803d11ec7c1e29d2ad530f8e95d9a729c3818c7050d

YARA

Комментарии: 0