CVE-2026-98306 PUBLISHED

seg6: set IPSKB_L3SLAVE from IP6SKB_L3SLAVE on IPIP decapsulation

Assigner: Linux
Reserved: 25.09.2026 Published: 06.10.2026 Updated: 06.10.2026

In the Linux kernel, the following vulnerability has been resolved:

seg6: set IPSKB_L3SLAVE from IP6SKB_L3SLAVE on IPIP decapsulation

When an SRv6 packet arrives on an interface enslaved to a VRF, vrf_ip6_rcv() sets IP6SKB_L3SLAVE in IP6CB, but decap_and_validate() has never set IPSKB_L3SLAVE in IPCB. The bit stayed clear in the common case, and with CONFIG_IPV6_MIP6 the leftover frag_max_size of a reassembled outer packet could even set it, with no VRF involved. Commit 44930446dde4 ("ipv6: seg6: clear IPv4 control block on IPIP decapsulation") then made the unreliable bit reliably clear.

The effect of the missing flag is visible with End.DX4 when a delivery to a local address of the node reaches the socket lookup. For example, a UDP socket bound to the enslaved ingress interface does not receive any of the decapsulated packets, while an unbound socket outside the VRF does. This contradicts Documentation/networking/vrf.rst: by default the scope of an unbound UDP or TCP socket is limited to the default VRF.

Set IPSKB_L3SLAVE for IPv4 in decap_and_validate(), which already does the same for IPv6. The socket lookup then matches the decapsulated packet like any other packet received on that enslaved interface. Such a packet matches an unbound UDP or TCP socket only when udp_l3mdev_accept or tcp_l3mdev_accept is set.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 891ef8dd2a8d14e4e73a81dcdb135b574c57f556 to 1d9f5c78903dd25a3556229eb716dd465c5f3573 (excl.)
  • affected from 891ef8dd2a8d14e4e73a81dcdb135b574c57f556 to 72f410616000d21a0a6ec6c93a60301b9c92e95c (excl.)
  • affected from 891ef8dd2a8d14e4e73a81dcdb135b574c57f556 to e4d7c52f15f572608374947c6c802052e1a2fc82 (excl.)
  • affected from 891ef8dd2a8d14e4e73a81dcdb135b574c57f556 to 5130afa025c95faa621adf8bac525baeb2b290d2 (excl.)
  • affected from 891ef8dd2a8d14e4e73a81dcdb135b574c57f556 to f8fb4738ccef5f9d107845b05734a56352747b1a (excl.)
  • affected from 891ef8dd2a8d14e4e73a81dcdb135b574c57f556 to ddf60220c925b54a1714c4722fdbdb12833232d0 (excl.)
  • affected from 891ef8dd2a8d14e4e73a81dcdb135b574c57f556 to 8c16e1ccc082a3763dfc6bc2d3f658c1a6336f9d (excl.)
  • affected from 891ef8dd2a8d14e4e73a81dcdb135b574c57f556 to 7616242a2b37883f7322aaa1d2bd6cd0fed28315 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 4.14 is affected
  • unaffected from 0 to 4.14 (excl.)
  • unaffected from 5.10.271 to 5.10.* (incl.)
  • unaffected from 5.15.222 to 5.15.* (incl.)
  • unaffected from 6.1.189 to 6.1.* (incl.)
  • unaffected from 6.6.158 to 6.6.* (incl.)
  • unaffected from 6.12.112 to 6.12.* (incl.)
  • unaffected from 6.18.54 to 6.18.* (incl.)
  • unaffected from 7.2.8 to 7.2.* (incl.)
  • unaffected from 7.3-rc4 to * (incl.)

References