В коде эмуляции Ethernet-адаптера AMD PCnet, поставляемого в составе QEMU, выявлена (http://openwall.com/lists/oss-security/2015/06/10/3) критическая уязвимость (CVE-2015-3209), позволяющая выйти за пределы гостевого окружения, выполняемого с использованием компонентов эмуляции аппаратных устройств. В случае успешной эксплуатации злоумышленник может выполнить свой код с правами процесса qemu на стороне хост-системы. Проблема выявлена участниками группы Zero, созданной компанией Google для предотвращения атак, совершаемых с использованием ранее неизвестных уязвимостей.
Уязвимость вызвана некорректной обработкой в драйвере разбитых на несколько частей TMD-пакетов, суммарных размер которых превышает 4096 байт. По отдельности размер пакета не может превышать размер буфера, установленный в 4096 байт, но проблема возникает при использовании возможности дробления пакета. В этом случае отправив первую часть размером 4096 байт, отправка второй части перепишет область памяти за границей буфера, в том числе позволяет переписать ячейки памяти, в которых хранится указатель с адресом возврата управления.
Кроме QEMU уязвимость проявляется в Xen, KVM (qemu-kvm) и других системах виртуализации, использующих компоненты QEMU. В частности, уязвимы конфигурации Xen, выполняющие гостевые системы в режиме HVM с применением виртуального сетевого интерфейса на базе драйвера pcnet. Следует отметить, что драйвер pcnet не используется в Xen по умолчанию и требует явной активации ("model=pcnet" в настройках VIF).
Гостевые системы, работающие в режиме паравиртуализации Xen (PV) проблеме не подвержены. Проблема также не проявляется при использовании модели изолированного запуска устройств QEMU (qemu-dm stubdomain, например, при указании в настройках "device_model_stubdomain_override=1"). Опасность проблемы в Ubuntu снижается в конфигурации по умолчанию так как при использовании QEMU с libvirt применяется дополнительная изоляция при помощи AppArmor.
Для оперативного устранения проблемы в QEMU подготовлен патч (https://www.mail-archive.com/qemu-devel@nongnu.org/msg3...). Обновления пакетов с устранением уязвимости уже выпущены для RHEL (https://rhn.redhat.com/errata/RHSA-2015-1087.html) и Ubuntu (http://www.ubuntu.com/usn/usn-2630-1/). Оценить появление обновлений в других дистрибутивах можно на следующих страницах: Debian (https://lists.debian.org/debian-security-announce/2015/threa...), CentOS (http://lists.centos.org/pipermail/centos-announce/2015-June/...), Fedora (https://admin.fedoraproject.org/updates/), openSUSE (http://lists.opensuse.org/opensuse-security-announce/), SLES (https://www.suse.com/support/update/), Slackware (http://www.slackware.com/security/list.php?l=slackware-secur...), Gentoo (http://www.gentoo.org/security/en/index.xml), FreeBSD (http://www.vuxml.org/freebsd/), NetBSD (http://www.netbsd.org/support/security/).
URL: http://openwall.com/lists/oss-security/2015/06/10/3
Новость: http://www.opennet.me/opennews/art.shtml?num=42400