net: stmmac: fix TSO header length truncation
- 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 7.2.8
- 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: stmmac: fix TSO header length truncation stmmac_tso_xmit() stores the protocol header length returned by stmmac_tso_header_size() in a u8. stmmac_tso_valid_packet() admits headers up to 1023 bytes, so a header longer than 255 bytes wraps modulo 256 (486 becomes 230, 256 becomes 0). A TCP over IPv6 socket carrying a few hundred bytes of sticky destination/hop-by-hop options makes skb_tcp_all_headers() exceed 255 while staying below the 1023-byte limit, so such an skb reaches stmmac_tso_xmit(). Widen proto_hdr_len to unsigned int, which is sufficient since the value is bounded by the hardware limit, and adjust the debug print specifier accordingly.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 9edfa7dab8112a012b349b7937f5444fdc21e8f9 · fixed in bcf6013c2b4d732c6e4bf4d0f6ae4a18d63d414b; From 9edfa7dab8112a012b349b7937f5444fdc21e8f9 · fixed in 15989abd74f16f44bf953d056b95f1d2fda9b0cd
- Linux Linux
4.13
- KernelLinux
From 4.13.0 · fixed in 7.2.8