Nixpkgs security tracker

Login with GitHub
⚠️ You are using a production deployment that is still only suitable for demo purposes. Any work done in this might be wiped later without notice.

Suggestion detail

Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
tcp: ipv6: clamp default adverting MSS to avoid GSO_BY_FRAGS (0xFFFF)

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".

Affected products

Linux
  • =<5.10.*
  • <d774cdbda6634a78d0f2baf201ee5a8c57f3bc0e
  • <2bf43d0e2e6a27d52a7d624e2d6b9116972e8a22
  • <4.8
  • =<6.6.*
  • =<*
  • =<6.18.*
  • <21f69ac1879bb970588d5e7c12a96e6542f7c1a7
  • <c0db3dc2ac323b6c4b76adede3b355a9daa6dea8
  • <a210791f33345aa87187f7d7a9f3b9b7f4a28e6d
  • <560b33b434e922ef97f9ff23aa2e909ef7aacd5c
  • ==4.8
  • =<5.15.*
  • <572fff10819dfc359298d1f774839e76a4d96f93
  • =<6.12.*
  • =<7.1.*
  • <8e6214a530c03e341dc1b0a846c8f2b716b3551a
  • =<6.1.*