Skip to main content

CVE-2024-43851: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2024-43851cvecve-2024-43851
Published: Sat Aug 17 2024 (08/17/2024, 09:22:09 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: soc: xilinx: rename cpu_number1 to dummy_cpu_number The per cpu variable cpu_number1 is passed to xlnx_event_handler as argument "dev_id", but it is not used in this function. So drop the initialization of this variable and rename it to dummy_cpu_number. This patch is to fix the following call trace when the kernel option CONFIG_DEBUG_ATOMIC_SLEEP is enabled: BUG: sleeping function called from invalid context at include/linux/sched/mm.h:274 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0 preempt_count: 1, expected: 0 CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.0 #53 Hardware name: Xilinx Versal vmk180 Eval board rev1.1 (QSPI) (DT) Call trace: dump_backtrace+0xd0/0xe0 show_stack+0x18/0x40 dump_stack_lvl+0x7c/0xa0 dump_stack+0x18/0x34 __might_resched+0x10c/0x140 __might_sleep+0x4c/0xa0 __kmem_cache_alloc_node+0xf4/0x168 kmalloc_trace+0x28/0x38 __request_percpu_irq+0x74/0x138 xlnx_event_manager_probe+0xf8/0x298 platform_probe+0x68/0xd8

AI-Powered Analysis

AILast updated: 06/27/2025, 20:58:28 UTC

Technical Analysis

CVE-2024-43851 addresses a vulnerability in the Linux kernel specifically related to the handling of a per-CPU variable within the Xilinx SoC (System on Chip) support code. The issue arises from the variable cpu_number1, which was passed as an argument named "dev_id" to the function xlnx_event_handler but was never actually used within that function. This redundant usage led to improper initialization and ultimately triggered a kernel bug when the kernel option CONFIG_DEBUG_ATOMIC_SLEEP was enabled. The bug manifests as a call trace indicating that a sleeping function was called from an invalid context, which is a critical kernel programming error. The trace shows that the kernel was in atomic context (in_atomic() == 1), where sleeping is prohibited, but a function that could sleep (__kmem_cache_alloc_node) was invoked, causing a BUG. This was observed on a Xilinx Versal VMK180 evaluation board, indicating the vulnerability is specific to certain hardware platforms using Xilinx SoCs. The fix involved dropping the initialization of cpu_number1 and renaming it to dummy_cpu_number to reflect its unused status, thereby preventing the invalid context sleep call. This vulnerability is a kernel-level bug that could cause system instability or crashes due to improper context handling in interrupt or atomic code paths. There are no known exploits in the wild, and no CVSS score has been assigned yet. The vulnerability is technical and specific to kernel developers and maintainers working with Xilinx SoC support in Linux kernels, particularly those enabling CONFIG_DEBUG_ATOMIC_SLEEP.

Potential Impact

For European organizations, the impact of CVE-2024-43851 is primarily related to system stability and reliability rather than direct compromise or data breach. Organizations using Linux kernels with Xilinx SoC support, especially in embedded systems, industrial control systems, or specialized hardware platforms (such as evaluation boards or custom devices based on Xilinx Versal SoCs), may experience kernel panics or crashes if the vulnerable code path is triggered. This could lead to downtime, loss of availability, and potential disruption of critical services. Since the bug occurs in atomic context and involves kernel memory allocation, it could affect real-time or high-availability systems where Linux is used as the OS. However, the vulnerability does not appear to allow privilege escalation, code execution, or direct data leakage. The absence of known exploits reduces immediate risk, but unpatched systems remain vulnerable to stability issues. European organizations in sectors such as telecommunications, automotive, aerospace, and manufacturing that deploy Linux on Xilinx hardware should be aware of this issue to maintain operational continuity.

Mitigation Recommendations

To mitigate CVE-2024-43851, organizations should: 1) Apply the official Linux kernel patches that rename and remove the unused cpu_number1 variable and prevent invalid sleeping calls in atomic context. This patch is critical for systems using Xilinx SoC support. 2) Enable kernel debugging options such as CONFIG_DEBUG_ATOMIC_SLEEP in test environments to detect similar issues proactively. 3) Conduct thorough regression testing on affected hardware platforms after patching to ensure stability. 4) For embedded or specialized devices, coordinate with hardware vendors or system integrators to obtain updated firmware or kernel versions incorporating the fix. 5) Monitor kernel logs for BUG messages related to atomic context sleeping to identify potential exploitation or triggering of the vulnerability. 6) Avoid running untrusted or experimental kernel modules that might interact with the Xilinx event manager or per-CPU variables until patches are applied. These steps go beyond generic advice by focusing on hardware-specific kernel configurations and proactive debugging.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-08-17T09:11:59.276Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9820c4522896dcbdcd51

Added to database: 5/21/2025, 9:08:48 AM

Last enriched: 6/27/2025, 8:58:28 PM

Last updated: 8/3/2025, 6:23:34 AM

Views: 12

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats