Skip to main content

CVE-2024-56617: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-56617cvecve-2024-56617
Published: Fri Dec 27 2024 (12/27/2024, 14:51:21 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: cacheinfo: Allocate memory during CPU hotplug if not done from the primary CPU Commit 5944ce092b97 ("arch_topology: Build cacheinfo from primary CPU") adds functionality that architectures can use to optionally allocate and build cacheinfo early during boot. Commit 6539cffa9495 ("cacheinfo: Add arch specific early level initializer") lets secondary CPUs correct (and reallocate memory) cacheinfo data if needed. If the early build functionality is not used and cacheinfo does not need correction, memory for cacheinfo is never allocated. x86 does not use the early build functionality. Consequently, during the cacheinfo CPU hotplug callback, last_level_cache_is_valid() attempts to dereference a NULL pointer: BUG: kernel NULL pointer dereference, address: 0000000000000100 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not present page PGD 0 P4D 0 Oops: 0000 [#1] PREEPMT SMP NOPTI CPU: 0 PID 19 Comm: cpuhp/0 Not tainted 6.4.0-rc2 #1 RIP: 0010: last_level_cache_is_valid+0x95/0xe0a Allocate memory for cacheinfo during the cacheinfo CPU hotplug callback if not done earlier. Moreover, before determining the validity of the last-level cache info, ensure that it has been allocated. Simply checking for non-zero cache_leaves() is not sufficient, as some architectures (e.g., Intel processors) have non-zero cache_leaves() before allocation. Dereferencing NULL cacheinfo can occur in update_per_cpu_data_slice_size(). This function iterates over all online CPUs. However, a CPU may have come online recently, but its cacheinfo may not have been allocated yet. While here, remove an unnecessary indentation in allocate_cache_info(). [ bp: Massage. ]

AI-Powered Analysis

AILast updated: 06/28/2025, 12:27:11 UTC

Technical Analysis

CVE-2024-56617 is a vulnerability in the Linux kernel related to the handling of cache information (cacheinfo) during CPU hotplug events. The Linux kernel maintains cacheinfo structures to represent CPU cache topology and characteristics. This vulnerability arises because memory allocation for cacheinfo is not always performed during CPU hotplug callbacks if it was not done earlier during boot. Specifically, on architectures like x86 that do not use the early cacheinfo build functionality, the kernel attempts to dereference a NULL pointer when accessing cacheinfo during CPU hotplug. This leads to a kernel NULL pointer dereference and consequent kernel panic or system crash. The root cause is that the kernel's last_level_cache_is_valid() function assumes cacheinfo is allocated if cache_leaves() is non-zero, but on some architectures (e.g., Intel processors), cache_leaves() can be non-zero before allocation, causing the NULL dereference. Additionally, update_per_cpu_data_slice_size(), which iterates over online CPUs, can also dereference NULL cacheinfo if a CPU has recently come online but its cacheinfo is not yet allocated. The patch involves allocating memory for cacheinfo during the CPU hotplug callback if it was not allocated earlier and adding proper checks to ensure cacheinfo is allocated before dereferencing. This vulnerability can cause system instability and denial of service due to kernel crashes triggered by CPU hotplug operations, which can occur dynamically in modern systems supporting CPU hotplugging for power management or maintenance.

Potential Impact

For European organizations, this vulnerability poses a risk primarily to servers and systems running Linux kernels with affected versions, especially those that utilize CPU hotplug features, such as cloud infrastructure, data centers, and high-availability environments. A kernel NULL pointer dereference leads to a system crash (kernel panic), resulting in denial of service. This can disrupt critical services, cause downtime, and potentially impact business operations. Systems that dynamically add or remove CPUs, common in virtualized or containerized environments, are particularly vulnerable. Although this vulnerability does not directly lead to privilege escalation or data leakage, the resulting instability can be exploited to cause service outages or trigger cascading failures in clustered environments. European organizations relying on Linux-based infrastructure for critical applications, including financial services, telecommunications, and public sector services, may face operational disruptions if unpatched. The absence of known exploits in the wild reduces immediate risk, but the vulnerability's presence in the Linux kernel necessitates prompt mitigation to maintain system reliability.

Mitigation Recommendations

1. Apply the official Linux kernel patches that address CVE-2024-56617 as soon as they become available from trusted sources or distribution vendors. 2. For organizations using custom or long-term support kernels, backport the patch or upgrade to a kernel version that includes the fix. 3. Monitor kernel updates from Linux distributions and subscribe to security advisories to ensure timely awareness of patch releases. 4. In environments where CPU hotplug is not required, consider disabling CPU hotplug functionality as a temporary mitigation to reduce exposure. 5. Implement robust system monitoring and alerting to detect kernel panics or crashes promptly, enabling rapid incident response and system recovery. 6. For virtualized environments, coordinate with hypervisor and cloud platform providers to ensure underlying host kernels are patched. 7. Conduct thorough testing of kernel updates in staging environments to verify stability and compatibility before production deployment. 8. Maintain regular backups and high-availability configurations to minimize service disruption in case of unexpected crashes.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-12-27T14:03:06.014Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9823c4522896dcbdf3c8

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

Last enriched: 6/28/2025, 12:27:11 PM

Last updated: 7/31/2025, 1:37:05 PM

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