CVE-2024-39277·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: dma-mapping: benchmark: handle NUMA_NO_NODE correctly cpumask_of_node() can be called for NUMA_NO_NODE inside do_map_benchmark() resulting in the following sanitizer report: UBSAN: array-index-out-of-bounds in ./arch/x86/include/asm/topology.h:72:28 index -1 is out of range for type 'cpumask [64][1]' CPU: 1 PID: 990 Comm: dma_map_benchma Not tainted 6.9.0-rc6 #29 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) Call Trace: <TASK> dump_stack_lvl (lib/dump_stack.c:117) ubsan_epilogue (lib/ubsan.c:232) __ubsan_handle_out_of_bounds (lib/ubsan.c:429) cpumask_of_node (arch/x86/include/asm/topology.h:72) [inline] do_map_benchmark (kernel/dma/map_benchmark.c:104) map_benchmark_ioctl (kernel/dma/map_benchmark.c:246) full_proxy_unlocked_ioctl (fs/debugfs/file.c:333) __x64_sys_ioctl (fs/ioctl.c:890) do_syscall_64 (arch/x86/entry/common.c:83) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) Use cpumask_of_node() in place when binding a kernel thread to a cpuset of a particular node. Note that the provided node id is checked inside map_benchmark_ioctl(). It's just a NUMA_NO_NODE case which is not handled properly later. Found by Linux Verification Center (linuxtesting.org).
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.9.4
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at <0.1% — higher than 24% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Read the two together. CVE-2024-39277 scores 7.8 on CVSS, so a successful attack would be serious — but at <0.1%, almost nobody is currently attempting it. That is a different situation from a flaw under mass exploitation, and it is usually the difference between patching on your next maintenance window and patching tonight.
Affected versions
From: 6.7
Until: 6.9.4
Fixed in: 6.9.4
How to fix this CVE
Update your Linux kernel to version 6.9.4 or later to resolve this memory safety issue affecting DMA mapping benchmarking. The vulnerability allows out-of-bounds array access when handling NUMA_NO_NODE cases, which can trigger undefined behavior. Apply the kernel update through your distribution's package manager and reboot your system to complete remediation.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check your kernel version with: uname -r
- Verify if your version falls within the vulnerable range (6.7 to 6.9.3) by comparing against kernel release dates at kernel.org
- Review system logs for UBSAN (Undefined Behavior Sanitizer) messages: grep -i 'UBSAN\|array-index-out-of-bounds' /var/log/kern.log or journalctl -b | grep -i 'UBSAN'
- Confirm the update was applied by running uname -r again and verifying it shows version 6.9.4 or later
FAQ
What is CVE-2024-39277?
CVE-2024-39277 is a kernel memory safety vulnerability in DMA mapping benchmarking code where NUMA_NO_NODE values are not properly validated before being used to index into CPU mask arrays, leading to out-of-bounds access.
Is CVE-2024-39277 being actively exploited?
No, CVE-2024-39277 is not actively exploited in the wild and has no public exploit available. This vulnerability requires local kernel module/ioctl access to trigger.
What versions of Kernel are affected by CVE-2024-39277?
Linux kernel versions 6.7.0 through 6.9.3 are affected. Version 6.9.4 and later contain the fix.
How do I check if my server is vulnerable to CVE-2024-39277?
Run 'uname -r' and compare your kernel version number against the affected range (6.7.x to 6.9.3). If your version is within this range, you are vulnerable.
Does Defensia detect CVE-2024-39277?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2024-39277 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- 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
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-39277. Free for 1 server.
Get started free