QEMU/KVM и Xen подвержены уязвимости в коде эмуляции VGA

В развиваемом проектом QEMU модуле VGA, эмулирующем работу простого графического адаптера, выявлена уязвимость (CVE-2016-3710), потенциально позволяющая осуществить из гостевой системы атаку, которая приведёт к выполнению кода на стороне хост-системы с правами процесса-обработчика QEMU.

Уязвимость проявляется в Xen (в режиме HVM c указанной в настройках видеокартой "stdvga"), KVM (qemu-kvm) и других системах виртуализации, использующих компоненты QEMU.

Уязвимости присвоено кодовое имя "Dark Portal". Проблема обусловлена выходом за границы буфера из-за ошибки в реализации кода работы с портами ввода/вывода в режиме эмуляции VGA c поддержкой VESA BIOS Extensions (VBE). В частности, через запись в регистр VBE_DISPI_INDEX_BANK, хранящий смещение адреса текущего банка видеопамяти, возможно обращение к областям памяти, выходящим за границы буфера, так как предлагаемые банки видеопамяти адресуются с использованием типа "byte" (uint8_t *), а обрабатываются как тип "word" (uint32_t *), 

Исправление доступно в виде патча. Обновления пакетов с устранением уязвимости выпущены для RHEL 7, CentOS 7, Fedora и Debian(обновление выпущено только для jessie, для wheezy исправления не будет). Оценить появление обновлений в других дистрибутивах можно на следующих страницах: Ubuntu, openSUSE, SLES, Slackware, Gentoo, FreeBSD, NetBSD. В качестве обходного пути защиты в RHEL/CentOS предлагается использовать sVirt и seccomp для ограничения привилегий процесса QEMU. В качестве обходного пути защиты для пользователей Xen рекомендуется использовать виртуальную видеокарту "cirrus" (в настройках stdvga=0, vga="cirrus"). 

Подписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.