CVE-2026-98306 in Linux
Sumário
de VulDB • 06/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
seg6: definir IPSKB_L3SLAVE com base em IP6SKB_L3SLAVE na desencapsulação IPIP
Quando um pacote SRv6 chega em uma interface vinculada (enslaved) a um VRF, vrf_ip6_rcv() define IP6SKB_L3SLAVE no IP6CB, mas decap_and_validate() nunca definiu IPSKB_L3SLAVE no IPCB. O bit permanecia limpo no caso comum e, com CONFIG_IPV6_MIP6, o frag_max_size restante de um pacote externo reassemblado poderia até mesmo defini-lo, sem envolvimento do VRF. O commit 44930446dde4 ("ipv6: seg6: clear IPv4 control block on IPIP decapsulation") tornou então a limpeza desse bit confiável.
O efeito da ausência dessa flag é visível com End.DX4 quando o direcionamento para um endereço local do nó atinge a lookup de socket. Por exemplo, um socket UDP vinculado à interface de entrada vinculada não recebe nenhum dos pacotes desencapsulados, enquanto um socket sem vínculo fora do VRF sim. Isso contradiz Documentation/networking/vrf.rst: por padrão, o escopo de um socket UDP ou TCP sem vínculo é limitado ao VRF padrão.
Defina IPSKB_L3SLAVE para IPv4 em decap_and_validate(), que já faz o mesmo para IPv6. A lookup do socket então corresponde ao pacote desencapsulado como qualquer outro pacote recebido nessa interface vinculada. Tal pacote corresponde a um socket UDP ou TCP sem vínculo apenas quando udp_l3mdev_accept ou tcp_l3mdev_accept está definido.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.