Description
In the Linux kernel, the following vulnerability has been resolved: openvswitch: fix GSO userspace truncation underflow OVS_ACTION_ATTR_TRUNC currently stores a delta from the original skb length in OVS_CB(skb)->cutlen. When a later userspace action segments a GSO skb, queue_gso_packets() reuses that delta for each smaller segment. A segment can then reach queue_userspace_packet() with cutlen greater than skb->len, underflowing the length passed to skb_zerocopy(). Store the maximum preserved length instead and bound each consumer against the current skb length. Use U32_MAX as the no-truncation sentinel so the value remains valid if skb geometry changes before a consumer handles it.
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
f2a4d086ed4c588d32fe9b7aa67fead7280e7bf1 to < 50a6a85f3d6b1d22d8436848606cdef5d2c490b4affectedf2a4d086ed4c588d32fe9b7aa67fead7280e7bf1 to < 2623c48cc3a8da9a1886fd8f65c0e348f4406fd6affectedf2a4d086ed4c588d32fe9b7aa67fead7280e7bf1 to < e211b081901ffca76674082c73eeaed53524c369affectedf2a4d086ed4c588d32fe9b7aa67fead7280e7bf1 to < a16eaaf7c0b0ccdef6166707d90ffbc6eebf6855affectedf2a4d086ed4c588d32fe9b7aa67fead7280e7bf1 to < fbfa3ad2ad6f3a5624aba5211c46290fb98cc9dcaffectedf2a4d086ed4c588d32fe9b7aa67fead7280e7bf1 to < 100a23b1613e9218e0af654ef102352c713f0263affectedf2a4d086ed4c588d32fe9b7aa67fead7280e7bf1 to < ea85dbcbe8d4056ecb54352f97743d138ea4c407affectedf2a4d086ed4c588d32fe9b7aa67fead7280e7bf1 to < 4032f8ed10fcb84d41c508dfb04be96589f78dfeaffected
Linux Linux
Default version status: affected
4.8affected0 to < 4.8unaffected5.10.265 to ≤ 5.10.*unaffected5.15.216 to ≤ 5.15.*unaffected6.1.183 to ≤ 6.1.*unaffected6.6.148 to ≤ 6.6.*unaffected6.12.101 to ≤ 6.12.*unaffected6.18.42 to ≤ 6.18.*unaffected7.1.6 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/50a6a85f3d6b1d22d8436848606cdef5d2c490b4 ↗
- https://git.kernel.org/stable/c/2623c48cc3a8da9a1886fd8f65c0e348f4406fd6 ↗
- https://git.kernel.org/stable/c/e211b081901ffca76674082c73eeaed53524c369 ↗
- https://git.kernel.org/stable/c/a16eaaf7c0b0ccdef6166707d90ffbc6eebf6855 ↗
- https://git.kernel.org/stable/c/fbfa3ad2ad6f3a5624aba5211c46290fb98cc9dc ↗
- https://git.kernel.org/stable/c/100a23b1613e9218e0af654ef102352c713f0263 ↗
- https://git.kernel.org/stable/c/ea85dbcbe8d4056ecb54352f97743d138ea4c407 ↗
- https://git.kernel.org/stable/c/4032f8ed10fcb84d41c508dfb04be96589f78dfe ↗