CVE-2026-23254
Received Received - Intake
UDP GRO Checksum Validation Error in Linux Kernel Network Stack

Publication date: 2026-03-18

Last updated on: 2026-03-18

Assigner: kernel.org

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().
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-18
Last Modified
2026-03-18
Generated
2026-05-07
AI Q&A
2026-03-18
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
linux_kernel linux_kernel *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in the Linux kernel's network code related to Generic Receive Offload (GRO) for UDP packets. Specifically, the udp GRO complete stage incorrectly assumes that all packets received have the 'encapsulation' flag cleared. However, some hardware network interface cards (NICs) can set this flag when offloading checksum calculations for UDP encapsulated traffic. Additionally, certain drivers like the tun driver or setups using virtual Ethernet (veth) can create packets with this flag set.

Because of this incorrect assumption, the function udp4_gro_complete() uses the wrong network offset (inner instead of outer) to compute the UDP header checksum. This leads to checksum validation errors during packet processing.

The fix involves always clearing the encapsulation flag at the GRO completion stage and then setting it again as needed for encapsulated packets, ensuring correct checksum computation.


How can this vulnerability impact me? :

This vulnerability can cause incorrect checksum validation for UDP packets in certain network configurations involving hardware offloading or virtual network setups. As a result, packets might be incorrectly processed or dropped due to checksum errors.

Such errors can lead to network communication issues, degraded performance, or instability in systems relying on UDP traffic, especially in environments using hardware checksum offloading or virtual network interfaces.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

I don't know


What immediate steps should I take to mitigate this vulnerability?

The vulnerability is resolved by fixing the handling of the encapsulation flag in the Linux kernel's UDP GRO completion stage. To mitigate this vulnerability, you should update your Linux kernel to a version that includes the fix for the udp GRO complete stage, which ensures the encapsulation flag is cleared properly at GRO completion time.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart