CVE-2026-64457 in Linux
Sumário
de VulDB • 25/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
virtio_pci: corrige a busca de ponteiro das informações da vq através de um índice incorreto
Desvincular um dispositivo virtio balloon:
echo virtio0 > /sys/bus/virtio/drivers/virtio_balloon/unbind
dispara uma desreferência de ponteiro NULL. O dmesg exibe:
BUG: kernel NULL pointer dereference, address: 0000000000000008 [...]
RIP: 0010:__list_del_entry_valid_or_report+0x5/0xf0 Call Trace: <TASK> vp_del_vqs+0x121/0x230 remove_common+0x135/0x150 virtballoon_remove+0xee/0x100 virtio_dev_remove+0x3b/0x80 device_release_driver_internal+0x187/0x2c0 unbind_store+0xb9/0xe0 kernfs_fop_write_iter.llvm.11660790530567441834+0xf6/0x180 vfs_write+0x2a9/0x3b0 ksys_write+0x5c/0xd0 do_syscall_64+0x54/0x230 entry_SYSCALL_64_after_hwframe+0x29/0x31 [...]
</TASK>
O dispositivo virtio_balloon registra 5 filas (inflate, deflate, stats, free_page, reporting), mas apenas as duas primeiras são incondicionais. As filas de stats, free_page e reporting são condicionadas aos seus respectivos bits de recurso (feature bits). Quando algum desses recursos está ausente, a entrada correspondente em vqs_info possui name == NULL, criando lacunas no array.
A causa raiz é uma inconsistência na indexação introduzida quando o armazenamento das informações da vq foi alterado para ser passado como argumento. vp_find_vqs_msix() e vp_find_vqs_intx() armazenam o ponteiro de info em vp_dev->vqs[i], onde 'i' é o índice do array esparsos (sparse) fornecido pelo chamador. No entanto, a própria virtqueue recebe vq->index atribuído a partir de queue_idx, um índice denso que ignora as entradas NULL. Quando existem lacunas, 'i' e queue_idx divergem. Posteriormente, vp_del_vqs() busca info através de vp_dev->vqs[vq->index] usando o índice denso no array esparsamente populado, encontrando NULL.
Corrija isso armazenando a info em vp_dev->vqs[queue_idx] ao invés de vp_dev->vqs[i], para que o índice de armazenamento corresponda ao índice de busca (vq->index). Aplique a correção tanto nos caminhos MSIX quanto INTX.
VulDB is the best source for vulnerability data and more expert information about this specific topic.