Уязвимость в функции "kvm_iommu_map_pages" в ядре Linux, позволяющая пользователям гостевой ОС вызвать отказ в обслуживании (DoS) или добиться других последствий через некорректную обработку ошибок маппинга
Описание
Обнаружена уязвимость в функции kvm_iommu_map_pages
в файле virt/kvm/iommu.c
в ядре Linux. Проблема связана с некорректным вычислением количества страниц при обработке ошибок маппинга. Это позволяет пользователям гостевой операционной системы:
- Вызвать отказ в обслуживании (повреждение памяти хостовой ОС) или, возможно, добиться других последствий путём использования большого значения
gfn
. - Вызвать отказ в обслуживании (чрезмерное потребление памяти хостовой ОС) путём использования маленького значения
gfn
, что приводит к постоянному закреплению страниц в памяти.
Проблема также была описана как недостаток в обработке IOMMU-ошибок маппинга в ядре Linux. Привилегированный пользователь в гостевой системе с назначенным устройством хоста мог использовать эту уязвимость для аварийного завершения работы хостовой системы.
Затронутые версии ПО
- Ядро Linux до версии 3.16.1
Тип уязвимости
- Повреждение памяти
- Чрезмерное потребление памяти хостовой ОС (host OS memory consumption)
- Отказ в обслуживании (DoS)
- Аварийное завершение работы (crash)
Затронутые пакеты
Платформа | Пакет | Состояние | Рекомендация | Релиз |
---|---|---|---|---|
Red Hat Enterprise Linux 5 | kernel | Not affected | ||
Red Hat Enterprise Linux 5 | kvm | Will not fix | ||
Red Hat Enterprise Linux 7 | kernel | Not affected | ||
Red Hat Enterprise MRG 2 | realtime-kernel | Not affected | ||
Red Hat Enterprise Linux 6 | kernel | Fixed | RHSA-2014:1392 | 13.10.2014 |
Показывать по
Дополнительная информация
Статус:
4.3 Medium
CVSS2
Связанные уязвимости
The kvm_iommu_map_pages function in virt/kvm/iommu.c in the Linux kernel through 3.16.1 miscalculates the number of pages during the handling of a mapping failure, which allows guest OS users to (1) cause a denial of service (host OS memory corruption) or possibly have unspecified other impact by triggering a large gfn value or (2) cause a denial of service (host OS memory consumption) by triggering a small gfn value that leads to permanently pinned pages.
The kvm_iommu_map_pages function in virt/kvm/iommu.c in the Linux kernel through 3.16.1 miscalculates the number of pages during the handling of a mapping failure, which allows guest OS users to (1) cause a denial of service (host OS memory corruption) or possibly have unspecified other impact by triggering a large gfn value or (2) cause a denial of service (host OS memory consumption) by triggering a small gfn value that leads to permanently pinned pages.
The kvm_iommu_map_pages function in virt/kvm/iommu.c in the Linux kern ...
The kvm_iommu_map_pages function in virt/kvm/iommu.c in the Linux kernel through 3.16.1 miscalculates the number of pages during the handling of a mapping failure, which allows guest OS users to (1) cause a denial of service (host OS memory corruption) or possibly have unspecified other impact by triggering a large gfn value or (2) cause a denial of service (host OS memory consumption) by triggering a small gfn value that leads to permanently pinned pages.
ELSA-2014-3081: Unbreakable Enterprise kernel security update (IMPORTANT)
4.3 Medium
CVSS2