CVE-2023-53441
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
18/09/2025
Last modified:
19/09/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
bpf: cpumap: Fix memory leak in cpu_map_update_elem<br />
<br />
Syzkaller reported a memory leak as follows:<br />
<br />
BUG: memory leak<br />
unreferenced object 0xff110001198ef748 (size 192):<br />
comm "syz-executor.3", pid 17672, jiffies 4298118891 (age 9.906s)<br />
hex dump (first 32 bytes):<br />
00 00 00 00 4a 19 00 00 80 ad e3 e4 fe ff c0 00 ....J...........<br />
00 b2 d3 0c 01 00 11 ff 28 f5 8e 19 01 00 11 ff ........(.......<br />
backtrace:<br />
[] __cpu_map_entry_alloc+0xf7/0xb00<br />
[] cpu_map_update_elem+0x2fe/0x3d0<br />
[] bpf_map_update_value.isra.0+0x2bd/0x520<br />
[] map_update_elem+0x4cb/0x720<br />
[] __se_sys_bpf+0x8c3/0xb90<br />
[] do_syscall_64+0x30/0x40<br />
[] entry_SYSCALL_64_after_hwframe+0x61/0xc6<br />
<br />
BUG: memory leak<br />
unreferenced object 0xff110001198ef528 (size 192):<br />
comm "syz-executor.3", pid 17672, jiffies 4298118891 (age 9.906s)<br />
hex dump (first 32 bytes):<br />
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
backtrace:<br />
[] __cpu_map_entry_alloc+0x260/0xb00<br />
[] cpu_map_update_elem+0x2fe/0x3d0<br />
[] bpf_map_update_value.isra.0+0x2bd/0x520<br />
[] map_update_elem+0x4cb/0x720<br />
[] __se_sys_bpf+0x8c3/0xb90<br />
[] do_syscall_64+0x30/0x40<br />
[] entry_SYSCALL_64_after_hwframe+0x61/0xc6<br />
<br />
BUG: memory leak<br />
unreferenced object 0xff1100010fd93d68 (size 8):<br />
comm "syz-executor.3", pid 17672, jiffies 4298118891 (age 9.906s)<br />
hex dump (first 8 bytes):<br />
00 00 00 00 00 00 00 00 ........<br />
backtrace:<br />
[] kvmalloc_node+0x11e/0x170<br />
[] __cpu_map_entry_alloc+0x2f0/0xb00<br />
[] cpu_map_update_elem+0x2fe/0x3d0<br />
[] bpf_map_update_value.isra.0+0x2bd/0x520<br />
[] map_update_elem+0x4cb/0x720<br />
[] __se_sys_bpf+0x8c3/0xb90<br />
[] do_syscall_64+0x30/0x40<br />
[] entry_SYSCALL_64_after_hwframe+0x61/0xc6<br />
<br />
In the cpu_map_update_elem flow, when kthread_stop is called before<br />
calling the threadfn of rcpu->kthread, since the KTHREAD_SHOULD_STOP bit<br />
of kthread has been set by kthread_stop, the threadfn of rcpu->kthread<br />
will never be executed, and rcpu->refcnt will never be 0, which will<br />
lead to the allocated rcpu, rcpu->queue and rcpu->queue->queue cannot be<br />
released.<br />
<br />
Calling kthread_stop before executing kthread&#39;s threadfn will return<br />
-EINTR. We can complete the release of memory resources in this state.