Skip to main content

CVE-2024-38543: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2024-38543cvecve-2024-38543
Published: Wed Jun 19 2024 (06/19/2024, 13:35:17 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: lib/test_hmm.c: handle src_pfns and dst_pfns allocation failure The kcalloc() in dmirror_device_evict_chunk() will return null if the physical memory has run out. As a result, if src_pfns or dst_pfns is dereferenced, the null pointer dereference bug will happen. Moreover, the device is going away. If the kcalloc() fails, the pages mapping a chunk could not be evicted. So add a __GFP_NOFAIL flag in kcalloc(). Finally, as there is no need to have physically contiguous memory, Switch kcalloc() to kvcalloc() in order to avoid failing allocations.

AI-Powered Analysis

AILast updated: 06/29/2025, 11:10:03 UTC

Technical Analysis

CVE-2024-38543 is a vulnerability identified in the Linux kernel related to memory allocation failure handling within the device memory management subsystem. Specifically, the issue arises in the function dmirror_device_evict_chunk(), where the kernel uses kcalloc() to allocate memory for src_pfns and dst_pfns arrays. If the system runs out of physical memory, kcalloc() can return a NULL pointer. The vulnerability occurs because the code does not properly check for this NULL return value before dereferencing these pointers, leading to a potential NULL pointer dereference. This can cause a kernel crash (denial of service) or unpredictable behavior. Furthermore, the device removal process is affected because if kcalloc() fails, the pages mapping a chunk cannot be evicted properly. To address this, the patch introduces the __GFP_NOFAIL flag to kcalloc(), ensuring the allocation does not fail by blocking until memory is available. Additionally, the patch replaces kcalloc() with kvcalloc(), which does not require physically contiguous memory, reducing the likelihood of allocation failure. This fix improves robustness by preventing NULL pointer dereferences and ensuring proper memory management during device eviction. There is no indication that this vulnerability allows privilege escalation or remote code execution; rather, it primarily risks kernel stability and availability due to potential crashes. No known exploits are reported in the wild as of the publication date.

Potential Impact

For European organizations, the primary impact of CVE-2024-38543 is on system availability and stability. Linux is widely used across European enterprises, government agencies, and critical infrastructure, often powering servers, network devices, and embedded systems. A kernel crash caused by this vulnerability could lead to denial of service, disrupting business operations, especially in environments requiring high availability such as financial services, healthcare, and telecommunications. While this vulnerability does not directly compromise confidentiality or integrity, the resulting downtime could have cascading effects on service delivery and operational continuity. Systems with constrained memory resources or heavy device eviction workloads are more susceptible to triggering this issue. Given Linux's prevalence in cloud infrastructure and data centers across Europe, unpatched systems may experience unexpected reboots or service interruptions, impacting end users and customers. However, the lack of known exploits and the requirement for specific memory conditions reduce the immediate risk of widespread exploitation.

Mitigation Recommendations

European organizations should prioritize applying the official Linux kernel patches that address this vulnerability, ensuring the use of kvcalloc() with the __GFP_NOFAIL flag as implemented. System administrators should: 1) Update Linux kernels to the latest stable versions containing the fix for CVE-2024-38543. 2) Monitor system logs for kernel oops or crash reports related to memory allocation failures or device eviction processes. 3) Assess memory usage patterns and device eviction workloads to identify systems at higher risk, particularly those with limited physical memory or heavy I/O device activity. 4) Implement proactive memory management and capacity planning to reduce the likelihood of allocation failures. 5) For critical systems, consider deploying kernel live patching solutions where available to minimize downtime during patch deployment. 6) Conduct thorough testing of kernel updates in staging environments before production rollout to ensure stability. 7) Maintain robust backup and recovery procedures to mitigate impact from potential service interruptions. These steps go beyond generic advice by focusing on memory management, device eviction monitoring, and operational readiness specific to this vulnerability.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-06-18T19:36:34.919Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9829c4522896dcbe2907

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

Last enriched: 6/29/2025, 11:10:03 AM

Last updated: 8/13/2025, 11:51:39 AM

Views: 14

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