Linux Kernel TCP skb_copy_ubufs Memory Leak Vulnerability with Hugepages

Vulnerability

A vulnerability in the Linux kernel's TCP implementation was introduced by changes allowing TCP segmentation offload (TSO) to handle larger packet sizes, up to 512 KB per segment. This change, combined with the use of hugepages, caused crashes in the skb_copy_ubufs() function, which is responsible for copying data from socket buffers. The function failed to handle the increased skb length properly, leading to a memory leak. The issue was not encountered by Google, as their configuration limited the maximum segment size and the number of fragments per skb.

Impact

The vulnerability could lead to a memory leak, causing increased memory usage and potential exhaustion of system resources.

Reproduction

The vulnerability can be reproduced by enabling TCP segmentation offload and using hugepages, with an skb length exceeding approximately 68 KB. This can be done by configuring the Linux kernel to allow larger packet sizes and allocating memory using hugepages.

Remediation

Users can apply the latest patches available in the Linux kernel stable tree to address this vulnerability.

Added: Oct 7, 2025, 5:07 PM
Updated: Oct 7, 2025, 5:07 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
5.7
remediation
7.7
relevance
0.7
threat
4.8
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.