CVE-2023-53669
N/A
N/A
Summary
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 Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 7c4e983c4f3cf94fcd879730c6caa877e0768a4d < 7fa93e39fbb0566019c388a8038a4d58552e0910 | affected |
| Linux | Linux | 7c4e983c4f3cf94fcd879730c6caa877e0768a4d < 3c77a377877acbaf03cd7caa21d3644a5dd16301 | affected |
| Linux | Linux | 7c4e983c4f3cf94fcd879730c6caa877e0768a4d < 9cd62f0ba465cf647c7d8c2ca7b0d99ea0c1328f | affected |
| Linux | Linux | 7c4e983c4f3cf94fcd879730c6caa877e0768a4d < 7e692df3933628d974acb9f5b334d2b3e885e2a6 | affected |
| Linux | Linux | 5.19 | affected |
| Linux | Linux | 0 < 5.19 | unaffected |
| Linux | Linux | 6.1.29 <= 6.1.* | unaffected |
| Linux | Linux | 6.2.16 <= 6.2.* | unaffected |
| Linux | Linux | 6.3.3 <= 6.3.* | unaffected |
| Linux | Linux | 6.4 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/7fa93e39fbb0566019c388a8038a4d58552e0910
- https://git.kernel.org/stable/c/3c77a377877acbaf03cd7caa21d3644a5dd16301
- https://git.kernel.org/stable/c/9cd62f0ba465cf647c7d8c2ca7b0d99ea0c1328f
- https://git.kernel.org/stable/c/7e692df3933628d974acb9f5b334d2b3e885e2a6
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.