CVE-2026-31601Linux内核中的vfio/xe驱动程序存在一个安全漏洞。当尝试在不支持迁移功能的VF(虚拟功能)设备上执行重置操作时,会触发内核页错误,导致系统崩溃。该问题的根本原因在于代码初始化逻辑存在耦合,处理重置所需的`xe_vfio_pci_core_device`成员仅在迁移初始化时被赋值,导致在非迁移场景下访问未初始化内存。本地低权限攻击者可利用此漏洞造成系统拒绝服务。
该漏洞源于Linux内核中Intel Xe显卡驱动的VFIO实现逻辑缺陷。在`xe_vfio_pci`模块中,设备重置函数`xe_vfio_pci_reset_done`依赖于`xe_sriov_vfio_wait_flr_done`来等待FLR(功能级别重置)完成。然而,负责处理重置的关键数据结构成员仅在迁移功能初始化时才被正确分配。当攻击者对不支持SR-IOV迁移的VF设备触发重置时,内核尝试访问一个未初始化的指针(RDI寄存器为0,偏移0x11f8),导致“Unable to handle page fault”的内核恐慌。调用栈显示问题发生在`sysfs`写入接口`reset_store`,意味着通过sysfs文件系统即可触发。修复方案通过重构代码,将VF设备的初始化与迁移初始化解耦,确保即使未启用迁移,重置所需的数据也已准备就绪。