Обнаружена критическая уязвимость в системах виртуализации, использующих драйвер PCNET

Обнаружена критическая уязвимость в системах виртуализации, использующих драйвер PCNET

В QEMU-драйвере PCNET выявлены уязвимости (CVE-2015-7512, CVE-2015-7504), которые могут использоваться для выполнения кода злоумышленника вне гостевой системы.

Уязвимость CVE-2015-7512 проявляется на внешних сетевых интерфейсах и может быть эксплуатирована удалённо, через отправку специально оформленных сетевых пакетов к гостевой системе, для обеспечения работы которой используется виртуальный сетевой адаптер на основе драйвера PCNET, эмулирующего Ethernet-контроллер AMD PC-Net II. Проблема CVE-2015-7504 проявляется только для интерфейсов в loopback-режиме, т.е. может быть эксплуатирована локальным пользователем гостевой системы.

Проблеме подвержены Xen, KVM (qemu-kvm), VirtualBox и другие системы виртуализации, использующих компоненты QEMU. Что касается Xen, то уязвимость проявляется только для гостевых систем, работающих в режиме HVM с применением виртуального сетевого интерфейса на базе драйвера pcnet ("model=pcnet" в настройках, по умолчанию не используется). Гостевые системы, работающие в режиме паравиртуализации Xen (PV) или запускаемые на архитектуре ARM проблемам не подвержены. В случае успешной экплуатации уязвимостей, атакующий может выполнить код с правами драйверов QEMU (обычно root, а при запуске в режиме stubdomain (qemu-dm) под отдельным изолированным непривилегированным пользователем), пишет opennet.ru.

Первая уязвимость CVE-2015-7512 вызвана ошибкой в коде проверки размера полученных данных, что может привести к записи в буфер блока, превышающего размер выделенной памяти. Условием проявления уязвимости является установка внутри гостевой системы лимита на размер MTU, превышающего параметры хост-системы. Вторая уязвимость CVE-2015-7504 связана с некорректным добавлением кода CRC к буферу с принятыми данными и может быть использовано для записи 4-байтового значения CRC за границу буфера, что позволяет переписать следующий за буфером указатель 's->irq'.

Для оперативного устранения проблемы в QEMU подготовлены патчи (CVE-2015-7512, CVE-2015-7504). Обновления пакетов с устранением уязвимости для дистрибутивов пока не выпущены. Оценить появление обновлений в других дистрибутивах можно на следующих страницах: RHEL, Ubuntu, Debian, CentOS, Fedora, openSUSE, SLES, Gentoo, FreeBSD, NetBSD.