漏洞标题
x86/AMD: IOMMU隔离页表级别不匹配
漏洞描述信息
当前的隔离页面表设置假设隔离域(dom_io)以默认域地址宽度(48)初始化,因此有4个页面表级别。
然而,dom_io 是一个 PV 域,因此根据最大(热插拔)内存地址获得 AMD-Vi IOMMU 页面表级别,因此在没有大于512GB的内存的系统中,IOMMU 只配置了3个页面表级别。
在大于512GB边界的系统中,没有内存的系统中,amd_iommu_quarantine_init() 将设置 scratch 页面的4个页面表级别,而 IOMMU 将只配置使用3个页面表级别,从而使最后一个页面表目录(PDE)实际上成为了页面表项(PTE),因此,在隔离模式的设备获得写入访问的页面作为 PDE。
由于此页面表级别不匹配,设备获得读写访问的 sink 页面在设备分配之间不再清除,可能导致数据泄漏。
CVSS信息
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
漏洞类别
内存缓冲区边界内操作的限制不恰当
漏洞标题
x86/AMD: mismatch in IOMMU quarantine page table levels
漏洞描述信息
The current setup of the quarantine page tables assumes that the
quarantine domain (dom_io) has been initialized with an address width
of DEFAULT_DOMAIN_ADDRESS_WIDTH (48) and hence 4 page table levels.
However dom_io being a PV domain gets the AMD-Vi IOMMU page tables
levels based on the maximum (hot pluggable) RAM address, and hence on
systems with no RAM above the 512GB mark only 3 page-table levels are
configured in the IOMMU.
On systems without RAM above the 512GB boundary
amd_iommu_quarantine_init() will setup page tables for the scratch
page with 4 levels, while the IOMMU will be configured to use 3 levels
only, resulting in the last page table directory (PDE) effectively
becoming a page table entry (PTE), and hence a device in quarantine
mode gaining write access to the page destined to be a PDE.
Due to this page table level mismatch, the sink page the device gets
read/write access to is no longer cleared between device assignment,
possibly leading to data leaks.
CVSS信息
N/A
漏洞类别
N/A
漏洞标题
Xen 安全漏洞
漏洞描述信息
Xen是英国剑桥(Cambridge)大学的一款开源的虚拟机监视器产品。该产品能够使不同和不兼容的操作系统运行在同一台计算机上,并支持在运行时进行迁移,保证正常运行并且避免宕机。 Xen存在安全漏洞,该漏洞源于IOMMU隔离页表级别不匹配。
CVSS信息
N/A
漏洞类别
其他