Серия критических уязвимостей в гипервизоре Xen
22 июня 2017 года
В гипервизоре Xen выявлено 10 уязвимостей, из которых пять ( XSA-224, XSA-222, XSA-219, XSA-218, XSA-217) потенциально позволяют выйти за пределы текущего гостевого окружения, две ( XSA-225, XSA-223) дают возможность инициировать крах гипервизора из гостевой системы, а три уязвимости ( XSA-221, XSA-220, XSA-216) могут привести к утечке содержимого памяти из адресного пространства других окружений или хост-системы.
Исправления пока доступны в виде патчей. CVE-идентификаторы пока не присвоены. Некоторые провайдеры публичных облачных систем были уведомлены о проблеме две недели назад и уже устранили уязвимость. Всем пользователям Xen и провайдерам, не включённым в список упреждающей отправки уведомлений, рекомендуется срочно установить обновление. Для эксплуатации наиболее опасных уязвимостей атакующий должен иметь доступ к выполнению кода в гостевой системе с правами ядра.
Особенности некоторых проблем:
- XSA-224 - владелец гостевой системы в режиме паравиртуализации (PV) может получить доступ на запись в таблицу страниц памяти, связанных с его окружением. В итоге атакующий может получить доступ к системной памяти и поднять свои привилегии до уровня хост-системы. Проблеме подвержены только конфигурации на базе архитектуры x86, в которых используются гостевые системы в режиме PV. HVM-системы уязвимы только в случае использования узявимых PV-бэкендов, в которых используется вызов calls grant_map() с флагами GNTMAP_device_map и
GNTMAP_host_map;
- из гостевого окружения можно получить доступ к памяти, не принадлежащей данному окружению из-за ошибки в организации повторного использования таблиц маппинга P2M (Physical-to-Machine), что потенциально может быть использовано для повышения своих привилегий (контроль за хост-системой) или привести к утечке данных от других окружений. Проблеме подвержены конфигурации Xen на базе архитектур x86 и ARM, но на x86 атака возможна только против окружений в режиме полной виртуализации (HVM). Для защиты можно указать в настройках HVM "hap_1gb=0 hap_2mb=0";
- XSA-219 - при наличии одновременного контроля за двумя гостевыми системами, атакующий может получить доступ к хост-системе. Проблеме подвержены только системы x86. Для успешной атаки необходим доступ к окружениям HVM с поддержкой Shadow Mode Paging (в настройках "hap=0"). HVM-окружения в режиме Hardware Assisted Paging (HAP, в настройках "hap=1") проблеме не подвержены. Для атаки необходим одновременный доступ к PV-окружению и HVM-окружению, но теоретически не исключается возможность совершения атаки, при контроле за одним гостевым окружением в режиме полной вирутализации (HVM).
- XSA-218 - состояние гонки, позволяющее в короткие моменты времени из подконтрольного злоумышленнику бэкенда прочитать или записать содержимое памяти чужого фронтэнда. В зависимости от ситуации уязвимость может использоваться для организации утечки конфеденциальных данных или повышения своих привилегий на стороне фронтэнда. Кроме того, отмечается ещё одна проблема, позволяющая непривилегированной гостевой системе из-за состояния гонки дважды очистить запись maptrack, что теоретически не исключает развитие атаки для выполнения кода на стороне хост-системы.
- XSA-217 - при наличии контроля за двумя гостевыми системами можно получить доступ ко всей системной памяти, что может использоваться для повышения своих привилегий и организации утечки данных из хост-системы или других гостевых систем. Проблеме подвержены только системы x86 при наличии у атакующего контроля за двумя гостевыми системами в режиме PV и HVM (контроля за двумя PV или за двумя HVM недостаточно, для атаки необходим одновременный доступ и к PV и к HVM).
- XSA-216 - утечка отрывков содержимого стека бэкенда через Linux-драйверы xen-blkback, blkback и blktap, используемые для доступа к блочным устройствам. Уязвимость позволяет непривилегированному гостевому окружению получить доступ к отрывкам конфиденциальной информации из хост-системы или другого гостевого окружения (речь про отрывки данных, оставленные бэкендом в полях добавочного заполнения (padding), неочищенные после прошлого запроса).
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.