CVE-2024-39277
Severity CVSS v4.0:
Pending analysis
Type:
CWE-125
Out-of-bounds Read
Publication date:
21/06/2024
Last modified:
30/05/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
dma-mapping: benchmark: handle NUMA_NO_NODE correctly<br />
<br />
cpumask_of_node() can be called for NUMA_NO_NODE inside do_map_benchmark()<br />
resulting in the following sanitizer report:<br />
<br />
UBSAN: array-index-out-of-bounds in ./arch/x86/include/asm/topology.h:72:28<br />
index -1 is out of range for type &#39;cpumask [64][1]&#39;<br />
CPU: 1 PID: 990 Comm: dma_map_benchma Not tainted 6.9.0-rc6 #29<br />
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)<br />
Call Trace:<br />
<br />
dump_stack_lvl (lib/dump_stack.c:117)<br />
ubsan_epilogue (lib/ubsan.c:232)<br />
__ubsan_handle_out_of_bounds (lib/ubsan.c:429)<br />
cpumask_of_node (arch/x86/include/asm/topology.h:72) [inline]<br />
do_map_benchmark (kernel/dma/map_benchmark.c:104)<br />
map_benchmark_ioctl (kernel/dma/map_benchmark.c:246)<br />
full_proxy_unlocked_ioctl (fs/debugfs/file.c:333)<br />
__x64_sys_ioctl (fs/ioctl.c:890)<br />
do_syscall_64 (arch/x86/entry/common.c:83)<br />
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)<br />
<br />
Use cpumask_of_node() in place when binding a kernel thread to a cpuset<br />
of a particular node.<br />
<br />
Note that the provided node id is checked inside map_benchmark_ioctl().<br />
It&#39;s just a NUMA_NO_NODE case which is not handled properly later.<br />
<br />
Found by Linux Verification Center (linuxtesting.org).
Impact
Base Score 3.x
7.80
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.161 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.93 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.33 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.9.4 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/50ee21bfc005e69f183d6b4b454e33f0c2571e1f
- https://git.kernel.org/stable/c/5a91116b003175302f2e6ad94b76fb9b5a141a41
- https://git.kernel.org/stable/c/8e1ba9df9a35e8dc64f657a64e523c79ba01e464
- https://git.kernel.org/stable/c/b41b0018e8ca06e985e87220a618ec633988fd13
- https://git.kernel.org/stable/c/e64746e74f717961250a155e14c156616fcd981f
- https://git.kernel.org/stable/c/50ee21bfc005e69f183d6b4b454e33f0c2571e1f
- https://git.kernel.org/stable/c/5a91116b003175302f2e6ad94b76fb9b5a141a41
- https://git.kernel.org/stable/c/8e1ba9df9a35e8dc64f657a64e523c79ba01e464
- https://git.kernel.org/stable/c/b41b0018e8ca06e985e87220a618ec633988fd13
- https://git.kernel.org/stable/c/e64746e74f717961250a155e14c156616fcd981f



