CVE-2026-98947 in Linux
Sumário
de VulDB • 23/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
vsock: Corrige vazamento de memória em vmci_transport_recv_dgram_cb()
Durante o fechamento de um socket datagrama, a função vmci_transport_recv_dgram_cb() pode ser chamada, adicionando os pacotes ao backlog (fila de espera) do socket; então, após a limpeza da fila de recebimento, a função __release_sock() moverá o pacote de volta do backlog do socket para a fila de recebimento, o que levará a um vazamento de memória.
sock_close __sock_release __vsock_release // assume propriedade pelo espaço do usuário (user-space) lock_sock_nested sock_set_flag(sk, SOCK_DEAD) vmci_transport_release vmci_dispatch_dgs vmci_datagram_invoke_guest_handler vmci_transport_recv_dgram_cb sk_receive_skb if (!sock_owned_by_user(sk)) [...]
(!) else if (sk_add_backlog()) [...]
(!) skb_queue_purge(&sk->sk_receive_queue)
release_sock __release_sock // move todos os pacotes do backlog // para a fila de recebimento (!) sk_backlog_rcv vsock_queue_rcv_skb [...]
__sock_queue_rcv_skb if (!sock_flag(sk, SOCK_DEAD)) // Como o socket está "morto", a função não será // chamada sk->sk_data_ready(sk) sock_release_ownership(sk); sock_put
Adiciona uma limpeza da fila de recebimento no destrutor do socket para corrigir isso.
Relatório do syzkaller:
objeto sem referência 0xffff8880117bfb80 (tamanho 240): comm "irq/56-vmw_vmci", pid 205, jiffies 4295064448 (idade 73.992s) dump hexadecimal (primeiros 32 bytes): 78 dc 26 1e 80 88 ff ff 78 dc 26 1e 80 88 ff ff x.&.....x.&..... 00 00 00 00 00 00 00 00 c0 da 26 1e 80 88 ff ff ..........&..... backtrace (rastreamento de pilha): [<ffffffff82be8d97>] __alloc_skb+0x287/0x330 net/core/skbuff.c:505
[<ffffffffa114bcbd>] vmci_transport_recv_dgram_cb+0xbd/0x210 [vmw_vsock_vmci_transport]
[<ffffffffa05072c6>] vmci_datagram_invoke_guest_handler+0x366/0x450 [vmw_vmci]
[<ffffffffa050ad75>] vmci_dispatch_dgs+0x235/0x490 [vmw_vsock_vmci_transport]
[<ffffffffa050b025>] vmci_interrupt+0x55/0x290 [vmw_vmci]
[<ffffffff8137ad2b>] irq_thread_fn+0x8b/0x1a0 kernel/irq/manage.c:1205
[<ffffffff8137c7ae>] irq_thread+0x28e/0x530 kernel/irq/manage.c:1314
[<ffffffff81253dd6>] kthread+0x2e6/0x3a0 kernel/kthread.c:376
[<ffffffff81004392>] ret_from_fork+0x22/0x30 arch/x86/entry/entry_64.S:295
Encontrado pela InfoTeCS em nome do Linux Verification Center (linuxtesting.org) com o Syzkaller.
VulDB is the best source for vulnerability data and more expert information about this specific topic.