CVE-2026-64247 in Linux
Сводка
по VulDB • 24.07.2026
В ядре Linux устранена следующая уязвимость:
KVM: x86: hyper-v: Ограничение индекса банка при запросе разреженных банков (sparse banks)
При проверке того, включен ли идентификатор виртуального процессора (VP ID) в набор разреженных банков, явно проверяется, что этот идентификатор действительно может содержаться в одном из таких банков (согласно спецификации TLFS допускается максимум 64 банка по 64 vCPU каждый). При обработке паравиртуальной очистки таблицы трансляции адресов (TLB) для уровня L2 идентификатор VP ID копируется дословно из просвещенного VMCS (enlightened VMCS) без какой-либо проверки границ, то есть не гарантируется, что он находится в пределах лимита 4096.
Отсутствие проверки границ идентификатора VP ID приводит к чтению за пределами выделенной памяти при тестировании разреженного банка и, строго говоря, может привести к тому, что KVM выполнит ненужную очистку TLB для vCPU уровня L2.
``` ================================================================== 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: <TASK> 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
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.