CVE-2026-98433 in Linux信息

摘要

由 VulDB • 2026-10-18

在 Linux 内核中,已修复以下漏洞:

KVM: PPC: Book3S HV:修复 uv_page_in() 失败时的安全设备页泄漏问题

在 kvmppc_svm_page_in() 函数中,如果 uv_page_in() 在 kvmppc_uvmem_get_page() 成功之后失败,则永远不会释放安全设备页。kvmppc_uvmem_get_page() 会在 kvmppc_uvmem_bitmap 中设置一个位、分配一个 kvmppc_uvmem_page_pvt 结构体、将 GFN(Guest Frame Number)标记为 KVMPPC_GFN_UVMEM_PFN,并调用 zone_device_page_init(),后者会将 refcount 设置为 1 并锁定该页。随后的 goto out_finalize 跳过了 *mig.dst 的赋值操作,导致 migrate_vma_finalize() 对该页成为空操作(no-op),因此这些资源永远不会被回收。

每次发生此情况都会永久消耗固件限制的安全内存池中的一个条目(kvmppc_uvmem_bitmap),泄漏 pvt,并使 GFN 保持标记为安全状态——这会导致该页在虚拟机生命周期内无法使用。

现有的 __kvmppc_svm_page_out() 函数已经正确处理了类似的 uv_page_out() 失败情况,使用了 unlock_page(dpage); __free_page(dpage)。在此处应用相同的模式:先调用 unlock_page(),然后调用 put_page(),后者通过 free_zone_device_folio() 链接到 kvmppc_uvmem_folio_free(),以清除位图位、释放 pvt 并重置 GFN 状态。

当 uv_page_in() 返回错误(例如 UV 池耗尽)时,在任何 POWER9/10 + Ultravisor/PEF 系统上均可触发此漏洞。

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

来源

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!