All vulnerabilities
CVE-2026-99088

Linux: net: openvswitch: validate transport header presence in set_ipv6_addr

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)No scoreNo FIRST EPSS score in this snapshot yet
Fixed in6774af7cd17be8f0d0f70de3a749d381b4f2e9daAlso 2594795fd832f0253826d64ff8976b8ff5fbfe9f, 6b8897ba0733f88f0360ea48a970f373f9142de0 and 1 moreCVE List
Published26 Oct 2026Updated 26 Oct 2026CVE List

What fixes it

  • 6774af7cd17be8f0d0f70de3a749d381b4f2e9daLinuxCVE List
  • 2594795fd832f0253826d64ff8976b8ff5fbfe9fLinuxCVE List
  • 6b8897ba0733f88f0360ea48a970f373f9142de0LinuxCVE List
  • 3c6a4b11330fe424557538a98fca9f0a4c5bf313LinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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

net: openvswitch: validate transport header presence in set_ipv6_addr

When executing IPv6 address rewrite actions on IPv6 fragments, set_ipv6_addr() calls update_ipv6_checksum(). If parse_ipv6hdr() processes a non-first IPv6 fragment, it sets key->ip.proto to NEXTHDR_FRAGMENT and returns early without calling skb_set_transport_header().

update_ipv6_checksum() unconditionally evaluates skb_transport_offset() on entry before checking l4_proto. Because skb->transport_header is uninitialized, this triggers a warning under CONFIG_DEBUG_NET=y although it is completely harmless.

Fix this by returning early in update_ipv6_checksum() if l4_proto is NEXTHDR_FRAGMENT. This avoids reading the uninitialized transport offset for fragments while preserving the debug warning for any other protocol where the transport header is unexpectedly missing.

See the syzbot trace:

!skb_transport_header_was_set(skb) WARNING: ./include/linux/skbuff.h:3075 at skb_transport_header include/linux/skbuff.h:3075 [inline], CPU#1: syz-executor463/5635 WARNING: ./include/linux/skbuff.h:3075 at skb_transport_offset include/linux/skbuff.h:3250 [inline], CPU#1: syz-executor463/5635 WARNING: ./include/linux/skbuff.h:3075 at update_ipv6_checksum net/openvswitch/actions.c:361 [inline], CPU#1: syz-executor463/5635 WARNING: ./include/linux/skbuff.h:3075 at set_ipv6_addr+0x462/0x660 net/openvswitch/actions.c:399, CPU#1: syz-executor463/5635 [...] RIP: 0010:skb_transport_header include/linux/skbuff.h:3075 [inline] RIP: 0010:skb_transport_offset include/linux/skbuff.h:3250 [inline] RIP: 0010:update_ipv6_checksum net/openvswitch/actions.c:361 [inline] RIP: 0010:set_ipv6_addr+0x462/0x660 net/openvswitch/actions.c:399 [...] Call Trace: <TASK> set_ipv6 net/openvswitch/actions.c:531 [inline] do_execute_actions+0x557e/0x8600 net/openvswitch/actions.c:1366 ovs_execute_actions+0xde/0x520 net/openvswitch/actions.c:1592 ovs_packet_cmd_execute+0xb4f/0xf10 net/openvswitch/datapath.c:705 genl_family_rcv_msg_doit+0x233/0x340 net/netlink/genetlink.c:1114 genl_rcv_msg+0x614/0x7a0 net/netlink/genetlink.c:1209 netlink_rcv_skb+0x226/0x4a0 net/netlink/af_netlink.c:2572 genl_rcv+0x28/0x40 net/netlink/genetlink.c:1218 netlink_unicast+0x7bd/0x940 net/netlink/af_netlink.c:1361 netlink_sendmsg+0x813/0xb40 net/netlink/af_netlink.c:1916 sock_sendmsg_nosec+0x14e/0x190 net/socket.c:800

Text from CVE List

Affected versions 12

  • Linuxaffected: 3fdbd1ce11e5c0d7cafbe44c942c5cad61113d7b before b7b80d204abdc258006f9e17c92b363ab13bb599CVE List
  • Linuxaffected: 3fdbd1ce11e5c0d7cafbe44c942c5cad61113d7b before 6774af7cd17be8f0d0f70de3a749d381b4f2e9daCVE List
  • Linuxaffected: 3fdbd1ce11e5c0d7cafbe44c942c5cad61113d7b before 2594795fd832f0253826d64ff8976b8ff5fbfe9fCVE List
  • Linuxaffected: 3fdbd1ce11e5c0d7cafbe44c942c5cad61113d7b before 6b8897ba0733f88f0360ea48a970f373f9142de0CVE List
  • Linuxaffected: 3fdbd1ce11e5c0d7cafbe44c942c5cad61113d7b before 3c6a4b11330fe424557538a98fca9f0a4c5bf313CVE List
  • Linuxaffected: 3.8CVE List
  • Linuxunaffected: all versions before 3.8CVE List
  • Linuxunaffected: 6.6.160 through 6.6.*CVE List
  • Linuxunaffected: 6.12.113 through 6.12.*CVE List
  • Linuxunaffected: 6.18.57 through 6.18.*CVE List
  • Linuxunaffected: 7.2.11 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 5