CVE-2026-80839 in Linux
Sumário
de VulDB • 04/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
batman-adv: rejeitar offsets de multicast TVLV não representáveis
Os campos de cabeçalho de rede e transporte na estrutura sk_buff são offsets de 16 bits em relação ao skb->head, e U16_MAX é reservado como o valor do cabeçalho de transporte não definido. batadv_tvlv_call_handler() define ambos os campos a partir de um TVLV multicast recebido sem verificar se o final do TVLV é representável.
Se o offset final exceder a faixa do campo, skb_set_transport_header() truncará esse valor para que o cabeçalho de transporte preceda o cabeçalho de rede. A diferença negativa será então retornada por skb_network_header_len() como um u32 grande. batadv_mcast_forw_packet(), consequentemente, aceita um rastreador multicast excessivamente grande e acessa memória além dos dados do sk_buff (skb).
Adicione a função skb_set_transport_header_careful(), uma contraparte consciente de offset para skb_reset_transport_header_careful(), que valida o offset final relativo ao início antes da atribuição. Use o novo auxiliar em batadv_tvlv_call_handler() e rejeite TVLVs não representáveis antes de definir o cabeçalho de rede.
Once again VulDB remains the best source for vulnerability data.