Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
7c6d2ecbda83150b2036a2b36b21381ad4667762 to < d3d111fe809773edbb4ae121e36253b7d683509aaffected7c6d2ecbda83150b2036a2b36b21381ad4667762 to < 8f6667a081887c2b59c6f3dd86c1789ada563762affected7c6d2ecbda83150b2036a2b36b21381ad4667762 to < 339f47ae04dcc6b5a730dd6bc70dddc8937c3260affected7c6d2ecbda83150b2036a2b36b21381ad4667762 to < 29bd12c7c5f9d6cf855b87bace18f71e9607f9e8affected7c6d2ecbda83150b2036a2b36b21381ad4667762 to < 0e5ed3b98d1d8d251acfdccfeaa607453ad12954affected7c6d2ecbda83150b2036a2b36b21381ad4667762 to < 75c271c48f483af678e514734e10b2452410e08caffected7c6d2ecbda83150b2036a2b36b21381ad4667762 to < c27c449d455aafd9018a3cbab150f1c42c87923faffectedbfbaf151efe491e30697e21c8b7ae1b615480873affected6c83456601e65a6dd371ddf595510183d198e9b1affectedb3ebd9830c6026c98f03f7047c9d608573773f13affectedb96fb681ca789629b8ba3da99ca3b2e6fa807f0aaffected4.14.187 to < 4.15affected4.19.131 to < 4.20affected5.4.46 to < 5.5affected5.6.18 to < 5.7affected
Linux Linux
Default version status: affected
5.7affected0 to < 5.7unaffected5.15.221 to ≤ 5.15.*unaffected6.1.188 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/d3d111fe809773edbb4ae121e36253b7d683509a ↗
- https://git.kernel.org/stable/c/8f6667a081887c2b59c6f3dd86c1789ada563762 ↗
- https://git.kernel.org/stable/c/339f47ae04dcc6b5a730dd6bc70dddc8937c3260 ↗
- https://git.kernel.org/stable/c/29bd12c7c5f9d6cf855b87bace18f71e9607f9e8 ↗
- https://git.kernel.org/stable/c/0e5ed3b98d1d8d251acfdccfeaa607453ad12954 ↗
- https://git.kernel.org/stable/c/75c271c48f483af678e514734e10b2452410e08c ↗
- https://git.kernel.org/stable/c/c27c449d455aafd9018a3cbab150f1c42c87923f ↗