CVE-2025-58149CVE-2025-58149是Xen虚拟化平台中libxl工具库存在的一个高危安全漏洞。该漏洞源于PCI设备热拔除(hot-unplug)时,libxl的detach逻辑未能正确移除设备分配的64位内存BAR(Base Address Register)的访问权限。当PCI设备从虚拟机分离后,域(domain)仍然保留对这些64位内存区域的访问能力,可能导致敏感数据泄露或权限提升风险。此漏洞影响使用PCI设备直通(Passthrough)功能的Xen虚拟化环境,包括PV(半虚拟化)和HVM(完全虚拟化)两种类型的Guest虚拟机。攻击者可通过未授权访问泄漏的内存区域获取敏感信息,或在特定条件下实现代码执行。CVSS 3.1评分7.5,属于高危漏洞,建议受影响用户尽快应用官方安全补丁。
Xen的libxl是管理Domain生命周期和设备热拔插的核心库。在PCI设备分配(pass-through)场景中,当设备从Guest域分离时,libxl需要执行清理操作以撤销该域对设备资源的访问权限。然而,当前实现存在权限泄漏缺陷:libxl的detach逻辑在处理PCI设备时,未能正确清除64位内存BAR的访问权限设置。
对于PV(ParaVirtualized)域,由于PV Guest可以直接操作页表(page-tables),权限泄漏允许Guest域自身将泄漏的内存区域映射到其页表中,从而实现对物理内存地址空间的越权访问。攻击者可利用此漏洞读取其他域的敏感数据或与宿主系统相关的内存区域。
对于HVM(Hardware Virtual Machine)域,攻击难度相对较高,需要首先攻破设备模型(device model)或stubdomain,然后利用泄漏的权限将目标内存映射到HVM域的P2M(Physical-to-Physical Memory Mapping)中。由于HVM域无法直接修改页表,此攻击路径需要额外的漏洞配合。
漏洞根本原因在于libxl_device_pci_detach()函数在执行设备分离时,缺少对64位BAR资源的显式权限撤销步骤,导致相关内存映射在Guest域中持续有效。