Linux Kernel UDP Memory Leak Vulnerability

Vulnerability

A vulnerability in the Linux kernel's UDP implementation has been identified, leading to a memory accounting leak. This issue was reported by Matt Dowling, who observed an unusual spike in UDP memory usage, as reflected in the /proc/net/sockstat file. Under normal conditions, UDP memory usage remains near zero, but it occasionally surged to 524,288 pages and failed to decrease, causing intermittent packet drops. The problem arises when an application sets the receive buffer size to the maximum integer value, triggering an overflow in the memory accounting process. As a result, the reported memory usage doubles when the socket is closed, leading to failed memory allocations and packet loss.

Impact

The vulnerability causes a memory leak in UDP, where the reported memory usage can spike dramatically and fail to decrease, leading to increased memory consumption and intermittent packet drops.

Reproduction

The vulnerability can be reproduced by creating a UDP socket and binding it to a local address. After setting the receive buffer size to the maximum integer value, the socket can be used to send data, which triggers the memory leak. Once the socket is closed, the memory usage remains high and can even double, causing further issues with memory allocation and packet delivery.

Remediation

The vulnerability has been addressed in the Linux kernel by modifying the UDP memory accounting process to prevent the integer overflow. Users should upgrade to the latest stable version of the Linux kernel where this issue has been fixed.

Added: Jun 9, 2025, 7:46 PM
Updated: Jun 9, 2025, 7:46 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
3.9
remediation
0.0
relevance
0.0
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.