Skip to main content
← All vulnerabilities
CVE-2026-90063

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.15, 4.20, 5.5, 5.7, 5.15.221, and 5 more
None on Exploit-DB, Metasploit or GitHub

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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 7c6d2ecbda83150b2036a2b36b21381ad4667762 · fixed in d3d111fe809773edbb4ae121e36253b7d683509a; From 7c6d2ecbda83150b2036a2b36b21381ad4667762 · fixed in 8f6667a081887c2b59c6f3dd86c1789ada563762; From 7c6d2ecbda83150b2036a2b36b21381ad4667762 · fixed in 339f47ae04dcc6b5a730dd6bc70dddc8937c3260; From 7c6d2ecbda83150b2036a2b36b21381ad4667762 · fixed in 29bd12c7c5f9d6cf855b87bace18f71e9607f9e8; From 7c6d2ecbda83150b2036a2b36b21381ad4667762 · fixed in 0e5ed3b98d1d8d251acfdccfeaa607453ad12954; From 7c6d2ecbda83150b2036a2b36b21381ad4667762 · fixed in 75c271c48f483af678e514734e10b2452410e08c; From 7c6d2ecbda83150b2036a2b36b21381ad4667762 · fixed in c27c449d455aafd9018a3cbab150f1c42c87923f; From 4.14.187 · fixed in 4.15; From 4.19.131 · fixed in 4.20; From 5.4.46 · fixed in 5.5; From 5.6.18 · fixed in 5.7

  • Linux Linux

    5.7

  • KernelLinux

    From 5.7.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6

References 7

git.kernel.org