CVE-2026-23425Linux内核KVM arm64组件中存在安全漏洞。在非受保护的pKVM模式下,虚拟机初始化过程错误地从宿主机复制了ID寄存器初始化标志,但未复制底层的寄存器数据。这导致Hypervisor误认为寄存器已就绪,实际上数据为零,致使特性检测逻辑失效。结果,关键系统寄存器在世界切换时未被正确保存和恢复,可能导致虚拟机状态损坏或拒绝服务。
该漏洞源于`pkvm_init_features_from_host()`函数的实现缺陷。在初始化非受保护pKVM虚拟机时,函数直接复制了宿主机`kvm`结构中的`KVM_ARCH_FLAG_ID_REGS_INITIALIZED`标志,却未同步复制底层的`id_regs`数组。这种不一致导致Hypervisor在EL2异常级别执行`kvm_has_feat()`检查时返回失败(返回0),尽管标志显示已初始化。这破坏了依赖特性检测的逻辑(如`ctxt_has_tcrx()`),使得TCR2_EL1、PIR_EL1等系统寄存器在Host与Guest世界切换时被忽略。攻击者利用此漏洞,通过创建非受保护虚拟机,可导致寄存器状态损坏,进而可能引发系统崩溃或权限提升。