Уязвимость в устройстве QEMU PCNET позволяет выполнить код вне гостевой системы

Обнаружена уязвимость в устройстве QEMU PCNET

В коде эмуляции Ethernet-адаптера AMD PCnet, поставляемого в составе QEMU, выявлена критическая уязвимость (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"). Опасность проблемы в Fedora/RHEL/CentOS существенно снижена благодаря SELinux. В Ubuntu понижение опасности в конфигурации по умолчанию при использовании QEMU с libvirt достигается за счет дополнительной изоляции при помощи AppArmor.

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

Подпишитесь на новости

Один клик администратора может отдать WordPress-сайт злоумышленнику

В ядре WordPress обнаружили цепочку уязвимостей Click2Shell, которая позволяет удалённо выполнить PHP-код на сервере без учётной записи атакующего. Для захвата сайта достаточно, чтобы авторизованный администратор открыл специально подготовленную ссылку.

Проблему нашёл исследователь pwn.ai Паулос Йибело. Согласно техническому отчёту, WordPress по-разному обрабатывал один и тот же параметр ссылки предпросмотра темы.

API каталога очищал значение и находил легитимную тему, а JavaScript в браузере администратора вставлял исходную строку в jQuery-селектор без должного экранирования.

В результате подготовленный URL заставлял интерфейс WordPress самостоятельно нажать кнопку установки. Администратор при этом не выбирал ни «Установить», ни «Активировать», а тема оставалась неактивной и внешне сайт продолжал работать как обычно.

Для полноценного RCE исследователи добавили второй компонент — уязвимую тему Mobile Repair Zone 2.5.4 из официального каталога. Во время предпросмотра WordPress загружал её PHP-код, после чего небезопасный AJAX-обработчик позволял скачать и выполнить произвольный плагин.

Дальше атакующий мог читать wp-config.php, красть ключи и данные БД, менять файлы, создавать администраторов и внедрять скрипты. Атака не является полностью автоматической: ссылку должен открыть вошедший в систему администратор.

Роли Author и Editor нужных полномочий не имеют. Доставить URL можно через целевой фишинг или уже существующую XSS-уязвимость.

WordPress закрыл дыру в версии 7.1.1 и выпустил патчи для поддерживаемых старых веток. Поскольку подробности и PoC уже опубликованы, откладывать обновление нельзя. Временной страховкой может стать DISALLOW_FILE_MODS, запрещающий установку тем и плагинов, но нормальное лекарство всё то же — патч.

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