Уязвимости в гипервизоре Xen
30 апреля 2018 года
В гипервизоре Xen найдена уязвимость, которая может быть использована для организации утечки информации из файловой системы хост-окружения. При обработке в гостевой системе специально оформленного образа CDROM имеется возможность получить доступ на чтение к любому файлу на стороне хост-системы с правами процесса с обработчиком устройств qemu.
Проблеме подвержены только гостевые системы x86, работающие в режиме HVM, в которых присутствует устройство виртуального CDROM. Проблема не затрагивает гостевые системы, работающие в режиме паравиртуализации (PV и PVH), а также системы HVM без виртуального устройства CDROM. Для проявления уязвимости на стороне dom0 должен быть запущен процесс qemu из пакета qemu-xen (системы с stub-доменом и qemu-xen-traditional не подвержены проблеме). Для эксплуатации уязвимости атакующий должен иметь возможность инициировать загрузку своего raw-образа в виртуальном CDROM, т.е. проблема затрагивает только конфигурации, в которых владельцам гостевых систем разерешено загружать свои образы в виртуальный CDROM.
Уязвимость легко блокируется, если принимая от пользователя raw-файл, принудительно преобразовывать его в какой-то специфичный формат ("-f raw" важен, чтобы не натолкнуться на ту же самую проблему, что и в самом QMP, вызванную неаккуратным автоугадыванием формата содержимого образа):
qemu-img convert -f raw -O qcow2 untrusted.raw wrapped.qcow2
Дополнительно можно отметить ещё одну уязвимость в Xen, связанную с ошибкой в реализации защиты от атаки Meltdown (XPTI). Уязвимость позволяет владельцу гостевой системы, работающей в режиме паравиртуализации (PV), вызвать крах гипервизора и парализовать работу хост-окружения. Уязвимость вызвана отсутствием обработчика ошибок для INT 80, что позволяет вызвать крах гипервизора через попытку записи нулевого значения по адресу в области 2^64. Проблеме подвержены только x86-системы, в которых применён патч XSA-254 для защиты от Meltdown. В гостевых системах PVH и HVM проблема не проявляется.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.