CVE-2026-80847: tcp: clamp route advmss to TCP_MIN_MSS
In the Linux kernel, the following vulnerability has been resolved:
tcp: clamp route advmss to TCPMINMSS
tcpselectinitialwindow() assumes that callers never pass an MSS smaller than 1, but route-derived advmss values can violate that assumption.
A too-small explicit RTAXADVMSS 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 RTAXADVMSS is left at 0 and the effective advmss is later driven down by route MTU and minadvmss.
Introduce a tcpdstadvmss() helper that clamps route advmss to TCPMINMSS 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 tcpselectinitialwindow() rounds the receive window.
Affected Software
Event History
Frequently Asked Questions
What conditions are needed to trigger the issue?
TCP must consume a route-derived advertised MSS value that falls below 1. This can occur with an explicitly too-small RTAX_ADVMSS value, or when RTAX_ADVMSS is 0 and the effective advertised MSS is reduced by the route MTU and min_adv_mss.
Can systems using the default advertised-MSS route setting be affected?
Yes. Leaving RTAX_ADVMSS at 0 does not prevent the issue, because the default advmss path can still be driven down to zero by route MTU and min_adv_mss.
What is the impact when the vulnerable condition is reached?
A zero effective MSS can reach tcp_select_initial_window(), which assumes an MSS of at least 1 and can perform a divide-by-zero operation.
What should be checked while awaiting an update?
Check route configuration and derived route metrics for TCP paths that could produce an advertised MSS below TCP_MIN_MSS. Review both explicit RTAX_ADVMSS settings and routes using the default value where route MTU and min_adv_mss may reduce the effective MSS.