CVE-2025-40337
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
net: stmmac: Correctly handle Rx checksum offload errors
The stmmac_rx function would previously set skb->ip_summed to CHECKSUM_UNNECESSARY if hardware checksum offload (CoE) was enabled and the packet was of a known IP ethertype.
However, this logic failed to check if the hardware had actually reported a checksum error. The hardware status, indicating a header or payload checksum failure, was being ignored at this stage. This could cause corrupt packets to be passed up the network stack as valid.
This patch corrects the logic by checking the csum_none status flag,
which is set when the hardware reports a checksum error. If this flag
is set, skb->ip_summed is now correctly set to CHECKSUM_NONE,
ensuring the kernel's network stack will perform its own validation and
properly handle the corrupt packet.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 3c20f72f9108b2fcf30ec63d8a4203736c01ccd0 < 63fbe0e6413279d5ea5842e2423e351ded547683 | affected |
| Linux | Linux | 3c20f72f9108b2fcf30ec63d8a4203736c01ccd0 < 719fcdf29051f7471d5d433475af76219019d33d | affected |
| Linux | Linux | 3c20f72f9108b2fcf30ec63d8a4203736c01ccd0 < 1aa319e0f12d2d761a31556b82a5852c98eb0bea | affected |
| Linux | Linux | 3c20f72f9108b2fcf30ec63d8a4203736c01ccd0 < ee0aace5f844ef59335148875d05bec8764e71e8 | affected |
| Linux | Linux | 3.2 | affected |
| Linux | Linux | 0 < 3.2 | unaffected |
| Linux | Linux | 6.6.117 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.58 <= 6.12.* | unaffected |
| Linux | Linux | 6.17.8 <= 6.17.* | unaffected |
| Linux | Linux | 6.18 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/63fbe0e6413279d5ea5842e2423e351ded547683
- https://git.kernel.org/stable/c/719fcdf29051f7471d5d433475af76219019d33d
- https://git.kernel.org/stable/c/1aa319e0f12d2d761a31556b82a5852c98eb0bea
- https://git.kernel.org/stable/c/ee0aace5f844ef59335148875d05bec8764e71e8
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.