Обнаружена критическая уязвимость в Xen, KVM и QEMU

Обнаружена критическая уязвимость в Xen, KVM и QEMU

В развиваемом проектом QEMU коде эмуляции контроллера флоппи-дисков (FDC) выявлена критическая уязвимость (CVE-2015-3456), получившая кодовое имя VENOM. Кроме QEMU драйвер также используется в системах виртуализации Xen и KVM. Уязвимость позволяет выйти за пределы гостевой системы и получить управления над базовым хост-окружением.

Пользователь гостевой системы, имеющий доступ к портам ввода/вывода (привилегированный пользователь в Linux и любой пользователь в Windows), может отправить эмулятору контроллера FDC специально оформленную команду, которая приведёт к переполнению буфера и выполнению произвольного кода на стороне гостевой системы с правами сопутствующего процесса QEMU. Если данный процесс выполняется с правами root, то пользователь может обойти ограничения виртуализации и из гостевого окружения получить root-доступ к основной системе.

Проблема проявляется во всех гостевых системах на базе архитектуры x86 и x86-64, выполняемых с использованием гипервизора Xen в режиме полной виртуализации (HVM) и в системах на базе QEMU/KVM. Тип эмулируемого оборудования и настройки запуска QEMU не имеют значения, так как в режимах PIIX и ICH9 создаётся мост для шины ISA, в котором в любом случае доступен виртуальный контроллер флоппи-дисков. Также не имеет значение наличие в гостевой системе файла устройства для доступа к флоппи-диску, так как эксплуатация производится через обращение к портам ввода/вывода.

Обновления с устранением уязвимости уже выпущено для RHEL, CentOS, Ubuntu и Debian. Также доступны патчи к QEMU и Xen. Оценить появление обновлений в других дистрибутивах можно на следующих страницах: Fedora, openSUSE, SLES, Slackware, Gentoo, FreeBSD, NetBSD. В качестве обходного пути защиты в RHEL/CentOS предлагается использовать sVirt и seccomp для ограничения привилегий процесса QEMU и ограничение доступа к ресурсам. В Ubuntu в конфигурации по умолчанию при использовании QEMU с libvirt применяется дополнительная изоляция при помощи AppArmor.

Проблема присутствует с 2004 года и вызвана отсутствием проверки переполнения при записи в FIFO-буфер фиксированного размера, используемый в слое эмуляции FDC для хранения команд контроллера и их параметров. Запись в буфер ведётся побайтово, отражая запись данных в порты ввода/вывода, с последующим увеличением индекса, указывающего на текущую позицию в буфере. После выполнения команды индекс сбрасывается в ноль и для следующей команды буфер заполняется заново. Для некоторых команд, таких как FD_CMD_READ_ID и FD_CMD_DRIVE_SPECIFICATION_COMMAND, в определённых ситуациях сброс индекса не производился или производился с задержкой, что даёт возможность полностью заполнить буфер и осуществить запись за его пределы. 

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Через вредоносные Blender-файлы распространяют инфостилер StealC V2

Исследователи обнаружили новую кампанию «с российским следом», в рамках которой злоумышленники распространяют инфостилер StealC V2 через вредоносные файлы Blender, загруженные на крупные 3D-маркетплейсы вроде CGTrader. Blender позволяет выполнять Python-скрипты — они используются для автоматизации, кастомных панелей, ригов и аддонов.

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

Специалисты Morphisec заметили, что вредоносные .blend-файлы содержат встроенный Python-код, который загружает лоадер с домена в Cloudflare Workers.

 

Далее загрузчик скачивает PowerShell-скрипт, который подтягивает два ZIP-архива — ZalypaGyliveraV1 и BLENDERX — с IP-адресов, контролируемых злоумышленниками.

Архивы распаковываются во временную папку, откуда создают LNK-файлы в автозагрузке для постоянства. Затем жертве подсовываются два компонента: основной инфостилер StealC и вспомогательный Python-стилер для подстраховки.

 

По данным Morphisec, атакующие используют последнюю версия второго поколения StealC — того самого, который ранее изучала Zscaler. Новый StealC заметно расширил функции:

  • крадёт данные из 23+ браузеров и поддерживает расшифровку паролей на стороне сервера, включая Chrome 132+;
  • поддерживает свыше 100 расширений криптокошельков и более 15 отдельных приложений;
  • ворует данные мессенджеров (Telegram, Discord, Tox, Pidgin), VPN-клиентов (ProtonVPN, OpenVPN) и почтовых программ, включая Thunderbird;
  • оснащён обновлённым механизмом обхода UAC.

При этом свежие версии StealC по-прежнему почти не детектируются антивирусами: Morphisec отмечает, что образец, который они изучали, не был распознан ни одним движком на VirusTotal.

Атака опасна тем, что 3D-маркетплейсы не могут проверять встроенный в файлы код. Художникам, аниматорам и моделлерам рекомендуется:

  • отключить автоматический запуск Python-скриптов: Blender → Edit → Preferences → снять галочку с Auto Run Python Scripts;
  • относиться к 3D-ассетам как к потенциально исполняемому коду;
  • скачивать файлы только у надёжных авторов или тестировать их в песочнице.

Злоумышленники явно ориентируются на профессиональное сообщество 3D-контента — и такая схема может оказаться особенно опасной для студий и фрилансеров, которые работают с большим количеством моделей из внешних источников.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

RSS: Новости на портале Anti-Malware.ru