Skip to content
CVE PROGRAM SOURCE RECORD7.8 High

CVE-2023-53669

tcp: fix skb_copy_ubufs() vs BIG TCP

Description

In the Linux kernel, the following vulnerability has been resolved: tcp: fix skb_copy_ubufs() vs BIG TCP David Ahern reported crashes in skb_copy_ubufs() caused by TCP tx zerocopy using hugepages, and skb length bigger than ~68 KB. skb_copy_ubufs() assumed it could copy all payload using up to MAX_SKB_FRAGS order-0 pages. This assumption broke when BIG TCP was able to put up to 512 KB per skb. We did not hit this bug at Google because we use CONFIG_MAX_SKB_FRAGS=45 and limit gso_max_size to 180000. A solution is to use higher order pages if needed. v2: add missing __GFP_COMP, or we leak memory.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 7c4e983c4f3cf94fcd879730c6caa877e0768a4d to < 7fa93e39fbb0566019c388a8038a4d58552e0910affected
  • 7c4e983c4f3cf94fcd879730c6caa877e0768a4d to < 3c77a377877acbaf03cd7caa21d3644a5dd16301affected
  • 7c4e983c4f3cf94fcd879730c6caa877e0768a4d to < 9cd62f0ba465cf647c7d8c2ca7b0d99ea0c1328faffected
  • 7c4e983c4f3cf94fcd879730c6caa877e0768a4d to < 7e692df3933628d974acb9f5b334d2b3e885e2a6affected

Linux Linux

Default version status: affected

  • 5.19affected
  • 0 to < 5.19unaffected
  • 6.1.29 to ≤ 6.1.*unaffected
  • 6.2.16 to ≤ 6.2.*unaffected
  • 6.3.3 to ≤ 6.3.*unaffected
  • 6.4 to ≤ *unaffected

References