Обнаружена критическая уязвимость в 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, в определённых ситуациях сброс индекса не производился или производился с задержкой, что даёт возможность полностью заполнить буфер и осуществить запись за его пределы. 

Злоумышленники украли 7 млн долларов через взломанный Trust Wallet

Массовые жалобы пользователей Trust Wallet на произвольные списания средств продолжались всю ночь с 25 на 26 декабря. Компания признала проблему лишь под утро. По подтверждённым данным, общий объём похищенных средств составил около 7 млн долларов, при этом руководство Trust Wallet пообещало полностью компенсировать потери.

Проблему у сервиса ещё вечером обнаружил блокчейн-расследователь ZachXBT — он же первым сообщил о подозрительной активности. Почти сразу после этого в сети начали появляться жалобы пользователей на несанкционированные списания средств.

Инциденты начались после обновления расширения Trust Wallet для Google Chrome. По предварительной версии, злоумышленники подменили расширение на скомпрометированную версию, что и привело к утечке средств.

В самой компании подтвердили наличие проблемы утром 26 декабря. На данный момент подтверждённый ущерб оценивается примерно в 7 млн долларов. При этом, как отмечают в Trust Wallet, в большинстве случаев у отдельных пользователей похищались сравнительно небольшие суммы.

Как уточнили в Trust Wallet, проблемной оказалась версия расширения 3.68. Пользователям других версий кошелька опасаться нечего. Исправленное расширение уже опубликовано в официальном магазине Google Chrome. Также в компании заверили, что пользователи мобильных версий Trust Wallet не пострадали.

Основатель криптобиржи Binance Чанпэн Чжао, которому принадлежит Trust Wallet, пообещал компенсировать потери пользователей. Об этом, как сообщил портал «Код Дурова», он заявил публично.

Инцидент с Trust Wallet — не первый случай, когда для кражи криптовалюты используются скомпрометированные браузерные расширения. Так, в ноябре была выявлена кампания по распространению стилера VenomSoftX, связанного с инфраструктурой зловреда ViperSoftX. Его основной задачей также была кража средств с криптокошельков. При этом главным каналом распространения выступали не официальные магазины расширений, а сайты с пиратскими играми и различными читами.

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