CVE-2025-71104CVE-2025-71104是Linux内核KVM虚拟化模块中的一个中危漏洞,CVSS评分5.5。该漏洞存在于KVM/x86的APIC定时器周期模式处理逻辑中,当虚拟机长时间处于暂停或休眠状态后恢复运行时,VMX预emption定时器(HV定时器)会生成大量不受控的中断请求,可能导致主机系统出现硬锁(hard lockup)。漏洞仅影响使用超管理程序定时器(HV timer)的Intel CPU环境。攻击者可通过暂停虚拟机较长时间后恢复触发此漏洞,造成主机系统完全无响应。该漏洞属于本地攻击向量,需要低权限即可触发,无需用户交互。
漏洞根源在于advance_periodic_target_expiration()函数在推进定时器目标过期时间时存在缺陷。当虚拟机从长时间暂停恢复时,目标过期时间可能已过去,但代码仅简单地将周期值加到前一个目标时间上,导致生成的实际过期时间仍在过去。当delta值转换为无符号u64类型的tscdeadline时,负值被转换为极大的正数,溢出VMX预emption定时器的最大位宽。这会触发KVM从HV定时器切换到软件定时器(hrtimer)。由于中断处理程序在IRQs禁用状态下运行,hrtimer会不断重启直到目标过期时间推进到当前时间,导致在单个时钟中断处理程序中连续执行大量定时器回调,最终引发主机硬锁。攻击者只需暂停虚拟机足够长时间(如休眠或挂起)后恢复即可触发,Windows虚拟机使用周期模式的APIC定时器时尤其容易触发。