CVE-2023-53577CWE-401

CVE-2023-53577

High · published October 4, 2025

CVSS v3.1
7.8
EPSS
0%
Percentile
4.1
In the wild
Unconfirmed
What it is

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

bpf, cpumap: Make sure kthread is running before map update returns

The following warning was reported when running stress-mode enabled

xdp_redirect_cpu with some RT threads:

------------[ cut here ]------------

WARNING: CPU: 4 PID: 65 at kernel/bpf/cpumap.c:135

CPU: 4 PID: 65 Comm: kworker/4:1 Not tainted 6.5.0-rc2+ #1

Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)

Workqueue: events cpu_map_kthread_stop

RIP: 0010:put_cpu_map_entry+0xda/0x220

......

Call Trace:

<TASK>

? show_regs+0x65/0x70

? __warn+0xa5/0x240

......

? put_cpu_map_entry+0xda/0x220

cpu_map_kthread_stop+0x41/0x60

process_one_work+0x6b0/0xb80

worker_thread+0x96/0x720

kthread+0x1a5/0x1f0

ret_from_fork+0x3a/0x70

ret_from_fork_asm+0x1b/0x30

</TASK>

The root cause is the same as commit 436901649731 ("bpf: cpumap: Fix memory

leak in cpu_map_update_elem"). The kthread is stopped prematurely by

kthread_stop() in cpu_map_kthread_stop(), and kthread() doesn't call

cpu_map_kthread_run() at all but XDP program has already queued some

frames or skbs into ptr_ring. So when __cpu_map_ring_cleanup() checks

the ptr_ring, it will find it was not emptied and report a warning.

An alternative fix is to use __cpu_map_ring_cleanup() to drop these

pending frames or skbs when kthread_stop() returns -EINTR, but it may

confuse the user, because these frames or skbs have been handled

correctly by XDP program. So instead of dropping these frames or skbs,

just make sure the per-cpu kthread is running before

__cpu_map_entry_alloc() returns.

After apply the fix, the error handle for kthread_stop() will be

unnecessary because it will always return 0, so just remove it.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00153 · 4.1th percentile
Weakness
CWE-401 · Missing Release of Memory after Effective Lifetime
Published
2025-10-04T20:15Z
Affected products (7)
ProductVersionsFixed in
linux/linux_kernel≥ 4.15, < 5.15.1265.15.126
linux/linux_kernel≥ 5.16, < 6.1.456.1.45
linux/linux_kernel≥ 6.2, < 6.4.106.4.10
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (4)
EPSS history
Timeline
  • 04 OCT 15:17Z
    bpf, cpumap: Make sure kthread is running before map update returns
    cvelistv5