Linux Kernel UDP Socket Integer Overflow Vulnerability Allowing Memory Flooding

Vulnerability

A vulnerability in the Linux kernel's UDP implementation allows for integer overflow in socket memory management. The issue arises because the socket's receive buffer size can be manipulated to bypass boundary checks, leading to multiple wraparounds of the memory allocation counter. This flaw enables a single socket to accumulate an excessive amount of data, potentially overwhelming the system's memory management. The vulnerability was introduced by a previous commit that relaxed the atomic operations governing memory allocation for UDP sockets.

Impact

Exploitation of this vulnerability causes integer overflow in the socket's memory allocation counter, allowing for excessive memory consumption that could disrupt normal system operations.

Reproduction

The vulnerability can be reproduced by setting the socket's receive buffer size to INT_MAX, which disables the boundary check. Once this is done, flooding the socket with packets causes the memory allocation counter to overflow multiple times. This can be verified by checking the socket's memory statistics, which will show an abnormal memory usage that exceeds the allowed limits.

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
5.7
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.