net: gue: reject invalid REMCSUM offsets
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: net: gue: reject invalid REMCSUM offsets The REMCSUM option carries an absolute checksum start and checksum field offset. gue_remcsum() passes them to skb_remcsum_process(), whose partial path stores offset - start in the u16 skb->csum_offset variable. If offset is less than start, this underflows. A forwarded packet can retain CHECKSUM_PARTIAL and reach a NETIF_F_HW_CSUM driver which trusts the metadata, leading skb_copy_and_csum_dev() to write two bytes about 64 KiB beyond the destination buffer. Reject reversed tuples in validate_gue_flags(), after the existing length validation, so all GUE parsers enforce the ordering in one place.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From fe881ef11cf0220f118816181930494d484c4883 · fixed in 4b9bc21b2396c396d88dd909caaf73d5be6ff593; From fe881ef11cf0220f118816181930494d484c4883 · fixed in 43efb1f997e976f386aa89716f55870cd2cff9ad; From fe881ef11cf0220f118816181930494d484c4883 · fixed in 1eeec0c51fd5598da44080ed96bbd9880021c28b; From fe881ef11cf0220f118816181930494d484c4883 · fixed in 1d664be4ca49d1696e85239236f4988dfc4653c3; From fe881ef11cf0220f118816181930494d484c4883 · fixed in 97f907203321eee2cc9132d5c9eb47698fb41d35; From fe881ef11cf0220f118816181930494d484c4883 · fixed in 40aeafbcbc7bc4018e8f74bbbb4d29ed8846f57f; From fe881ef11cf0220f118816181930494d484c4883 · fixed in c20f755338ca234e523dfc943719f194dfc1f903; From fe881ef11cf0220f118816181930494d484c4883 · fixed in 2566866fc30965d915d0b52b5c3323b362619f0e
- Linux Linux
4.0
- KernelLinux
From 4.0.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.55; From 6.19.0 · fixed in 7.2.9
References 8
git.kernel.org
- stable/c/4b9bc21b2396c396d88dd909caaf73d5be6ff593
- stable/c/43efb1f997e976f386aa89716f55870cd2cff9ad
- stable/c/1eeec0c51fd5598da44080ed96bbd9880021c28b
- stable/c/1d664be4ca49d1696e85239236f4988dfc4653c3
- stable/c/97f907203321eee2cc9132d5c9eb47698fb41d35
- stable/c/40aeafbcbc7bc4018e8f74bbbb4d29ed8846f57f
- stable/c/c20f755338ca234e523dfc943719f194dfc1f903
- stable/c/2566866fc30965d915d0b52b5c3323b362619f0e