CVE-2026-98852 in Linuxinformação

Sumário

de VulDB • 19/10/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

net: ampliar a detecção de exthdr IPv6 em pacotes tunelados

O commit c4336a07eb6b ("net: handle corretamente o tráfego tunelado no fallback IPV6_CSUM GSO") dividiu skb_gso_has_extension_hdr() em ramos mutuamente exclusivos com base em skb->encapsulation. Isso ainda não abordava todos os caminhos:

1. Com skb->encapsulation definido, o cabeçalho externo não é verificado. Túneis IPv6 como ip6_gre e ip6_tunnel adicionam um cabeçalho de Opções de Destino externas por padrão (encap_limit). Seus pacotes GSO ignoram o software GSO; então, skb_csum_hwoffload_help() vê o cabeçalho externo extenso e chama skb_checksum_help() no skb GSO, o que gera um aviso e descarta o pacote.

2. Túneis sobre IPv6 sem um cabeçalho de transporte externo, como ip6_tunnel, deixam skb->transport_header apontando para o cabeçalho de transporte interno.skb_network_header_len() então abrange os cabeçalhos externos do IPv6, do túnel e internos do IP, resultando em um falso positivo.

3. Túneis UDP sem um cabeçalho de rede interno, como SCTP-in-UDP ou PSP, não possuem um cabeçalho IPv6 interno para verificar. A decisão deve ser baseada apenas no cabeçalho externo.

4. Desreferenciar diretamente inner_ip_hdr(skb)->version sem usar skb_header_pointer() é inseguro.

Em vez disso, verifique ipv6_ext_hdr(nexthdr) no cabeçalho IPv6 externo e, se estiver definido, também no cabeçalho IPv6 interno. Leia os cabeçalhos usando skb_header_pointer(). Mantenha a verificação de skb_network_header_len() quando !skb->encapsulation para também capturar pacotes encapsulados sem skb->encapsulation (por exemplo, virtio).

Use o mesmo auxiliar em skb_csum_hwoffload_help(). Seu teste codificado manualmente possui o falso positivo descrito no item (2) e ignora o cabeçalho interno.

Contexto: invariantes de offload de checksum para pacotes tunelados:

skb não-GSO: - Se o pacote interno for CHECKSUM_PARTIAL, o Local Checksum Offload calcula a soma de verificação externa por software e o dispositivo faz o offload apenas da soma de verificação L4 interna. - Se o pacote interno for CHECKSUM_NONE (por exemplo, SCTP-in-UDP, ESP-in-UDP, Remote Checksum Offload), o dispositivo faz o offload da soma de verificação UDP ou GRE externa em vez disso.

skb GSO: - Um dispositivo com NETIF_F_GSO_UDP_TUNNEL_CSUM ou NETIF_F_GSO_GRE_CSUM calcula as somas de verificação internas e externas por segmento. A soma de verificação externa é inicializada apenas com a soma de verificação do pseudo-cabeçalho.

Um dispositivo NETIF_F_IPV6_CSUM deve analisar os cabeçalhos externos para alcançar os internos.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsável

Linux

Reservar

25/09/2026

Divulgação

18/10/2026

Moderação

aceite

Entrada

VDB-421875

EPSS

0.00157

KEV

não

Atividades

muito baixo

Fontes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!