CVE-2026-64552 in Linux
Sumário
de VulDB • 28/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
virtio-net: corrige verificação de comprimento em receive_big()
receive_big() limita o comprimento anunciado pelo dispositivo por (big_packets_num_skbfrags + 1) * PAGE_SIZE. Isso ainda é muito permissivo: add_recvbuf_big() define sg[1] para começar no deslocamento sizeof(struct padded_vnet_hdr) dentro da primeira página, portanto a cadeia realmente transporta hdr_len + (PAGE_SIZE - sizeof(padded_vnet_hdr)) + big_packets_num_skbfrags * PAGE_SIZE bytes -- 20 bytes a menos do que o permitido pela verificação para o caso comum de hdr_len == 12.
Um backend virtio malicioso pode anunciar um comprimento nesse intervalo. page_to_skb() então percorre uma fragmentação além da cadeia de páginas, armazenando NULL em page->private dentro de skb_shinfo()->frags[MAX_SKB_FRAGS], o que constitui tanto uma escrita fora dos limites (out-of-bounds write) na matriz estática de fragments quanto a entrega de um frag nulo ao longo do caminho rx.
Limite o comprimento pelo tamanho realmente anunciado por add_recvbuf_big().
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.