CVE-2026-98570 in Linux
Sumário
de VulDB • 19/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
net: ipv6: manter espaço para o cabeçalho MAC em dst_dev_overhead()
Os túneis lwtunnels seg6, ioam6 e rpl dimensionam sua solicitação de skb_cow_head() como o comprimento que estão prestes a empurrar (push) mais dst_dev_overhead(), então eles inserem os novos cabeçalhos e reconstruem o cabeçalho MAC abaixo deles com skb_mac_header_rebuild(). Essa reconstrução precisa de espaço livre (headroom) correspondente ao valor de skb->mac_len, mas dst_dev_overhead() deixa apenas LL_RESERVED_SPACE() do dispositivo de saída (egress), que são 16 bytes para Ethernet simples.
Quando o cabeçalho MAC é mais longo do que isso, como ocorre no ingresso através de um dispositivo VLAN com reorder_hdr desativado, a reconstrução fica sem espaço: skb_set_mac_header(skb, -skb->mac_len) calcula um deslocamento negativo, armazena-o sem verificação em u16 skb->mac_header e o memmove que se segue escreve bytes correspondentes ao valor de skb->mac_len cerca de 64 KB além do início (head) do skb. O encaminhamento de tráfego ping6 simples através de tal dispositivo reproduz a falha nos cinco modos de encapsulamento seg6, bem como nos caminhos inline rpl e ioam6; o valor de skb->mac_header retorna como 65534 em um head de 704 bytes.
Retornar o maior dos dois valores. O helper já retorna skb->mac_len quando não há dst (destino), então isso apenas alinha a outra ramificação, cobrindo todos os chamadores em vez de cada ponto de chamada individualmente.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.