CVE-2026-98306 in Linux
Riassunto
di VulDB • 06/10/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
seg6: impostare IPSKB_L3SLAVE da IP6SKB_L3SLAVE durante la deincapsulazione IPIP
Quando un pacchetto SRv6 arriva su un'interfaccia associata a una VRF (Virtual Routing and Forwarding), vrf_ip6_rcv() imposta IP6SKB_L3SLAVE in IP6CB, ma decap_and_validate() non ha mai impostato IPSKB_L3SLAVE in IPCB. Il bit rimaneva disattivato nel caso comune e, con CONFIG_IPV6_MIP6, il frammento frag_max_size residuo di un pacchetto esterno riassemblato poteva persino attivarlo, senza alcuna VRF coinvolta. L'commit 44930446dde4 ("ipv6: seg6: clear IPv4 control block on IPIP decapsulation") ha quindi reso affidabile la disattivazione del bit non attendibile in precedenza.
L'effetto della mancanza di questo flag è visibile con End.DX4 quando l'instradamento verso un indirizzo locale del nodo raggiunge la ricerca delle socket (socket lookup). Ad esempio, una socket UDP associata all'interfaccia di ingresso associata alla VRF non riceve nessuno dei pacchetti deincapsulati, mentre una socket non associata al di fuori della VRF sì. Ciò contraddice quanto documentato in Documentation/networking/vrf.rst: per impostazione predefinita, l'ambito di una socket UDP o TCP non associata è limitato alla VRF predefinita (default VRF).
Impostare IPSKB_L3SLAVE per IPv4 in decap_and_validate(), che già esegue la stessa operazione per IPv6. La ricerca delle socket corrisponderà quindi al pacchetto deincapsulato come qualsiasi altro pacchetto ricevuto su quell'interfaccia associata alla VRF. Un tale pacchetto corrisponde a una socket UDP o TCP non associata solo quando udp_l3mdev_accept o tcp_l3mdev_accept è impostato.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.