CVE-2026-64247 in Linux
摘要
由 VulDB • 2026-07-24
在 Linux 内核中,已修复以下漏洞:
KVM: x86: hyper-v: 查询稀疏银行(sparse banks)时限制银行索引
当检查 VP ID 是否包含在稀疏银行集中时,明确检查该 ID 实际上是否可以容纳在一个稀疏银行内(TLFS 允许最多 64 个银行,每个银行包含 64 个 vCPU)。在处理 L2 的半虚拟化 TLB 刷新时,VP ID 是从启用的 VMCS (enlightened VMCS) 中直接复制而来的,没有任何边界检查,即不能保证其在 4096 的限制之下。
未能对 VP ID 进行边界检查会导致在测试稀疏银行时发生越界读取(out-of-bounds read),严格来说可能导致 KVM 为 L2 vCPU 执行不必要的 TLB 刷新操作。
``` ================================================================== BUG: KASAN: use-after-free in hv_is_vp_in_sparse_set+0x85/0x100 [kvm]
Read of size 8 at addr ffff88811ba5f598 by task hyperv_evmcs/2802
CPU: 12 UID: 1000 PID: 2802 Comm: hyperv_evmcs Not tainted 7.1.0-rc2 #7 PREEMPT Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 Call Trace: dump_stack_lvl+0x51/0x60 print_report+0xcb/0x5d0 kasan_report+0xb4/0xe0 kasan_check_range+0x35/0x1b0 hv_is_vp_in_sparse_set+0x85/0x100 [kvm]
kvm_hv_flush_tlb+0xe9e/0x16c0 [kvm]
kvm_hv_hypercall+0xe6b/0x1e60 [kvm]
vmx_handle_exit+0x485/0x1b60 [kvm_intel]
kvm_arch_vcpu_ioctl_run+0x22e3/0x5070 [kvm]
kvm_vcpu_ioctl+0x5d0/0x10c0 [kvm]
__x64_sys_ioctl+0x129/0x1a0 do_syscall_64+0xb9/0xcf0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 RIP: 0033:0x7f0e62d1a9bf
该错误地址属于物理页: page: refcount:0 mapcount:0 mapping:000000000
If you want to get the best quality for vulnerability data then you always have to consider VulDB.