CVE-2026-90063

Summary

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

virtio-net: Ensure that TCP packets don't overflow gso_segs

The user can specify any gso_size in a packet crafted with an AF_PACKET PACKET_VNET_HDR socket, even smaller than TCP_MIN_GSO_SIZE = 8. At the same time, GSO_MAX_SIZE = 8 * GSO_MAX_SEGS = 8 * 65535. When the user crafts a packet with gso_size < 8, there is a risk for partial GSO to overflow the 16-bit gso_segs field when dividing the SKB length by gso_size.

Adjust gso_size of TCP packets to be at least TCP_MIN_GSO_SIZE = 8. Keep gso_size of UDP GSO packets, as gso_size=1 is valid and explicitly tested at tools/testing/selftests/net/tun.c:649.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux7c6d2ecbda83150b2036a2b36b21381ad4667762 < d3d111fe809773edbb4ae121e36253b7d683509aaffected
LinuxLinux7c6d2ecbda83150b2036a2b36b21381ad4667762 < 8f6667a081887c2b59c6f3dd86c1789ada563762affected
LinuxLinux7c6d2ecbda83150b2036a2b36b21381ad4667762 < 339f47ae04dcc6b5a730dd6bc70dddc8937c3260affected
LinuxLinux7c6d2ecbda83150b2036a2b36b21381ad4667762 < 29bd12c7c5f9d6cf855b87bace18f71e9607f9e8affected
LinuxLinux7c6d2ecbda83150b2036a2b36b21381ad4667762 < 0e5ed3b98d1d8d251acfdccfeaa607453ad12954affected
LinuxLinux7c6d2ecbda83150b2036a2b36b21381ad4667762 < 75c271c48f483af678e514734e10b2452410e08caffected
LinuxLinux7c6d2ecbda83150b2036a2b36b21381ad4667762 < c27c449d455aafd9018a3cbab150f1c42c87923faffected
LinuxLinuxbfbaf151efe491e30697e21c8b7ae1b615480873affected
LinuxLinux6c83456601e65a6dd371ddf595510183d198e9b1affected
LinuxLinuxb3ebd9830c6026c98f03f7047c9d608573773f13affected
LinuxLinuxb96fb681ca789629b8ba3da99ca3b2e6fa807f0aaffected
LinuxLinux4.14.187 < 4.15affected
LinuxLinux4.19.131 < 4.20affected
LinuxLinux5.4.46 < 5.5affected
LinuxLinux5.6.18 < 5.7affected
LinuxLinux5.7affected
LinuxLinux0 < 5.7unaffected
LinuxLinux5.15.221 <= 5.15.*unaffected
LinuxLinux6.1.188 <= 6.1.*unaffected
LinuxLinux6.6.157 <= 6.6.*unaffected
LinuxLinux6.12.110 <= 6.12.*unaffected
LinuxLinux6.18.52 <= 6.18.*unaffected
LinuxLinux7.2.6 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References