Description
In the Linux kernel, the following vulnerability has been resolved: net: gro: fix outer network offset The udp GRO complete stage assumes that all the packets inserted the RX have the `encapsulation` flag zeroed. Such assumption is not true, as a few H/W NICs can set such flag when H/W offloading the checksum for an UDP encapsulated traffic, the tun driver can inject GSO packets with UDP encapsulation and the problematic layout can also be created via a veth based setup. Due to the above, in the problematic scenarios, udp4_gro_complete() uses the wrong network offset (inner instead of outer) to compute the outer UDP header pseudo checksum, leading to csum validation errors later on in packet processing. Address the issue always clearing the encapsulation flag at GRO completion time. Such flag will be set again as needed for encapsulated packets by udp_gro_complete().
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
af276a5ac8e938c8b058e3e124073cc1e322d98b to < 9d40a85138568696387ef04cd004c64612a70874affected5ef31ea5d053a8f493a772ebad3f3ce82c35d845 to < b83557bc6f560433fe5d727e241069f8db5ba709affected5ef31ea5d053a8f493a772ebad3f3ce82c35d845 to < 2e5edb69e5d0e23ef248c56fc977039268c77a7baffected5ef31ea5d053a8f493a772ebad3f3ce82c35d845 to < 5c2c3c38be396257a6a2e55bd601a12bb9781507affecteddbd9466d323a72e22efe09151253d195d36d3bf6affected6.6.31 to < 6.6.124affected6.8.10 to < 6.9affected
Linux Linux
Default version status: affected
6.9affected0 to < 6.9unaffected6.6.124 to ≤ 6.6.*unaffected6.12.70 to ≤ 6.12.*unaffected6.18.10 to ≤ 6.18.*unaffected6.19 to ≤ *unaffected