tcp: clamp route advmss to TCP_MIN_MSS
- 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 6.6.160, 6.12.111, 6.18.51, 7.1.13, 7.2.3
- 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: tcp: clamp route advmss to TCP_MIN_MSS tcp_select_initial_window() assumes that callers never pass an MSS smaller than 1, but route-derived advmss values can violate that assumption. A too-small explicit RTAX_ADVMSS is one way to get there, but it is not the only one. The same divide-by-zero can also be reached through the "default advmss" path when RTAX_ADVMSS is left at 0 and the effective advmss is later driven down by route MTU and min_adv_mss. Introduce a tcp_dst_advmss() helper that clamps route advmss to TCP_MIN_MSS before TCP consumes it, and use it in the TCP paths that derive advmss from dst metrics. This keeps the effective MSS from dropping to zero before tcp_select_initial_window() rounds the receive window.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 788fbbf7d61f9742298417c207c91b6db159fbbc; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in eaf4af9bd6975c2eff8d48820937c83032d968dc; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in cfb44c6028e6f979720315e0772bbd0d4d33ed61; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 6b8c20bf61924dfc38fefb145c9f7406d73fae53; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 31cf2349361902769dc323e4dbf4b449795ec288; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 870a9e42ecc6fe1b8c25d87af043cb0d9c178fe1
- Linux Linux
2.6.12
- KernelLinux
From 2.6.12 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.1.13; From 7.2.0 · fixed in 7.2.3