Skip to main content
← All vulnerabilities
CVE-2026-72502

tcp: ipv6: clamp default adverting MSS to avoid GSO_BY_FRAGS (0xFFFF)

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.97, and 2 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

In the Linux kernel, the following vulnerability has been resolved: tcp: ipv6: clamp default adverting MSS to avoid GSO_BY_FRAGS (0xFFFF) When MTU is large, ip6_default_advmss() can return IPV6_MAXPLEN (65535). This is interpreted by TCP as mss_clamp, allowing the MSS to reach 65535. However, 0xFFFF is also used as a magic value GSO_BY_FRAGS in the kernel. If a TCP packet with gso_size=0xFFFF is passed to skb_segment(), it will be mistakenly treated as GSO_BY_FRAGS, leading to a NULL pointer dereference because local TCP packets do not use frag_list. Fix this by returning min(IPV6_MAXPLEN, GSO_BY_FRAGS - 1) (65534) from ip6_default_advmss() when MTU is large. Also update the stale comment in ip6_default_advmss() which suggested that IPV6_MAXPLEN is returned to mean "any MSS".

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • Linux Linux

    From 3953c46c3ac7eef31a9935427371c6f54a22f1ba · fixed in 560b33b434e922ef97f9ff23aa2e909ef7aacd5c; From 3953c46c3ac7eef31a9935427371c6f54a22f1ba · fixed in 21f69ac1879bb970588d5e7c12a96e6542f7c1a7; From 3953c46c3ac7eef31a9935427371c6f54a22f1ba · fixed in c0db3dc2ac323b6c4b76adede3b355a9daa6dea8; From 3953c46c3ac7eef31a9935427371c6f54a22f1ba · fixed in 572fff10819dfc359298d1f774839e76a4d96f93; From 3953c46c3ac7eef31a9935427371c6f54a22f1ba · fixed in 8e6214a530c03e341dc1b0a846c8f2b716b3551a; From 3953c46c3ac7eef31a9935427371c6f54a22f1ba · fixed in d774cdbda6634a78d0f2baf201ee5a8c57f3bc0e; From 3953c46c3ac7eef31a9935427371c6f54a22f1ba · fixed in a210791f33345aa87187f7d7a9f3b9b7f4a28e6d; From 3953c46c3ac7eef31a9935427371c6f54a22f1ba · fixed in 2bf43d0e2e6a27d52a7d624e2d6b9116972e8a22

  • Linux Linux

    4.8

  • KernelLinux

    From 4.8.0 · fixed in 5.10.261; From 5.11.0 · fixed in 5.15.212; From 5.16.0 · fixed in 6.1.178; From 6.2.0 · fixed in 6.6.145; From 6.7.0 · fixed in 6.12.97; From 6.13.0 · fixed in 6.18.40; From 6.19.0 · fixed in 7.1.5

References 8

git.kernel.org