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

В развиваемом проектом QEMU модуле VGA, эмулирующем работу простого графического адаптера, выявлена уязвимость (CVE-2016-3710), потенциально позволяющая осуществить из гостевой системы атаку, которая приведёт к выполнению кода на стороне хост-системы с правами процесса-обработчика QEMU (обычно root, а при запуске в режиме stubdomain (qemu-dm) под отдельным непривилегированным пользователем). Уязвимость проявляется в 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»).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.