CVE-2026-68428 in Linux
Sumário
de VulDB • 10/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
KVM: x86/mmu: Corrige use-after-free na recarga de módulos de fornecedor (vendor)
mmu_destroy_caches() destrói pte_list_desc_cache e mmu_page_header_cache, mas mantém ambos os ponteiros inalterados. Os ponteiros residem em kvm.ko e, portanto, sobrevivem quando um módulo de fornecedor é desinstalado enquanto kvm.ko permanece carregado.
Se a criação de pte_list_desc_cache falhar durante uma recarga subsequente do módulo de fornecedor, sua atribuição define pte_list_desc_cache como NULL e o caminho de erro chama mmu_destroy_caches(). mmu_page_header_cache ainda aponta para o cache destruído durante a desinstalação anterior do módulo de fornecedor. Passar esse pontador obsoleto (stale pointer) para kmem_cache_destroy() causa um slab use-after-free.
Reproduza o problema em um kernel v7.1.3 com CONFIG_KASAN=y, CONFIG_KASAN_GENERIC=y, CONFIG_KVM=m e CONFIG_KVM_INTEL=m. Um gancho de teste único força pte_list_desc_cache a NULL na segunda invocação de kvm_mmu_vendor_module_init():
1. Carregue kvm.ko e kvm-intel.ko, criando ambos os caches. 2. Desinstale apenas kvm_intel, deixando kvm.ko carregado. 3. Recarregue kvm_intel e force a inicialização através do caminho -ENOMEM.
O KASAN relata:
BUG: KASAN: slab-use-after-free in kvm_mmu_vendor_module_init+0x5b/0x170 [kvm]
... kmem_cache_destroy+0x21/0x1d0 kvm_mmu_vendor_module_init+0x5b/0x170 [kvm]
... Alocado pela tarefa 16817: __kmem_cache_create_args+0x12c/0x3b0 __kmem_cache_create.constprop.0+0xb6/0xf0 [kvm]
kvm_mmu_vendor_module_init+0x13b/0x170 [kvm]
... Liberado pela tarefa 16820: kmem_cache_destroy+0x117/0x1d0 kvm_mmu_vendor_module_exit+0x21/0x30 [kvm]
Limpe ambos os ponteiros imediatamente após destruir seus caches para que o estado armazenado reflita a vida útil dos caches e a limpeza repetida seja segura.
Com a correção aplicada, a recarga do módulo de fornecedor injetada da mesma forma falha com -ENOMEM como esperado e não produz relatório KASAN.
If you want to get best quality of vulnerability data, you may have to visit VulDB.