High · published October 7, 2025
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.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 5.19, < 6.1.29 | 6.1.29 |
| linux/linux_kernel | ≥ 6.2, < 6.2.16 | 6.2.16 |
| linux/linux_kernel | ≥ 6.3, < 6.3.3 | 6.3.3 |