CVE-2025-38465

netlink: Fix wraparounds of sk->sk_rmem_alloc.

published July 25, 2025

CVSS
—
EPSS
0%
Percentile
7.8
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

netlink: Fix wraparounds of sk->sk_rmem_alloc.

Netlink has this pattern in some places

if (atomic_read(&sk->sk_rmem_alloc) > sk->sk_rcvbuf)

atomic_add(skb->truesize, &sk->sk_rmem_alloc);

, which has the same problem fixed by commit 5a465a0da13e ("udp:

Fix multiple wraparounds of sk->sk_rmem_alloc.").

For example, if we set INT_MAX to SO_RCVBUFFORCE, the condition

is always false as the two operands are of int.

Then, a single socket can eat as many skb as possible until OOM

happens, and we can see multiple wraparounds of sk->sk_rmem_alloc.

Let's fix it by using atomic_add_return() and comparing the two

variables as unsigned int.

Before:

[root@fedora ~]# ss -f netlink

Recv-Q Send-Q Local Address:Port Peer Address:Port

-1668710080 0 rtnl:nl_wraparound/293 *

After:

[root@fedora ~]# ss -f netlink

Recv-Q Send-Q Local Address:Port Peer Address:Port

2147483072 0 rtnl:nl_wraparound/290 *

^

`--- INT_MAX - 576

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00186 · 7.8th percentile
Published
2025-07-25T15:27Z
EPSS history
Timeline
  • 25 JUL 15:27Z
    netlink: Fix wraparounds of sk->sk_rmem_alloc.
    cvelistv5