Skip to main content

CVE-2024-46864: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-46864cvecve-2024-46864
Published: Fri Sep 27 2024 (09/27/2024, 12:42:52 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: x86/hyperv: fix kexec crash due to VP assist page corruption commit 9636be85cc5b ("x86/hyperv: Fix hyperv_pcpu_input_arg handling when CPUs go online/offline") introduces a new cpuhp state for hyperv initialization. cpuhp_setup_state() returns the state number if state is CPUHP_AP_ONLINE_DYN or CPUHP_BP_PREPARE_DYN and 0 for all other states. For the hyperv case, since a new cpuhp state was introduced it would return 0. However, in hv_machine_shutdown(), the cpuhp_remove_state() call is conditioned upon "hyperv_init_cpuhp > 0". This will never be true and so hv_cpu_die() won't be called on all CPUs. This means the VP assist page won't be reset. When the kexec kernel tries to setup the VP assist page again, the hypervisor corrupts the memory region of the old VP assist page causing a panic in case the kexec kernel is using that memory elsewhere. This was originally fixed in commit dfe94d4086e4 ("x86/hyperv: Fix kexec panic/hang issues"). Get rid of hyperv_init_cpuhp entirely since we are no longer using a dynamic cpuhp state and use CPUHP_AP_HYPERV_ONLINE directly with cpuhp_remove_state().

AI-Powered Analysis

AILast updated: 06/28/2025, 18:57:06 UTC

Technical Analysis

CVE-2024-46864 is a vulnerability in the Linux kernel specifically related to the x86 Hyper-V virtualization support. The issue arises from improper handling of CPU hotplug states during Hyper-V initialization and shutdown sequences. A commit (9636be85cc5b) introduced a new CPU hotplug (cpuhp) state for Hyper-V initialization, but the logic to remove this state during machine shutdown was flawed. The condition checking the variable 'hyperv_init_cpuhp' never evaluates to true, preventing the call to 'hv_cpu_die()' on all CPUs. Consequently, the VP assist page, a memory region used by the Hyper-V hypervisor to assist virtual processor operations, is not reset properly. When a kexec kernel (a kernel loaded and executed without a full reboot) attempts to set up the VP assist page again, the hypervisor corrupts the memory region of the old VP assist page. This corruption can cause a kernel panic if the kexec kernel uses that memory region for other purposes. The root cause is a mismatch in CPU hotplug state management, leading to stale or corrupted VP assist page references. The fix involves removing the unused 'hyperv_init_cpuhp' variable and directly using the static CPUHP_AP_HYPERV_ONLINE state with 'cpuhp_remove_state()' to ensure proper cleanup. This vulnerability affects Linux kernels containing the problematic commit and impacts systems running Linux as a guest under Hyper-V virtualization, particularly during kexec operations. No known exploits are reported in the wild as of now.

Potential Impact

For European organizations, the impact of CVE-2024-46864 is primarily on systems running Linux guests on Microsoft Hyper-V hypervisors that utilize kexec functionality. The vulnerability can lead to kernel panics and system crashes during kernel reloads, causing potential downtime and service disruption. This is particularly critical for data centers, cloud service providers, and enterprises relying on Hyper-V virtualization with Linux workloads. The integrity and availability of virtualized Linux systems may be compromised, affecting critical infrastructure, especially in sectors like finance, healthcare, and government where uptime and data integrity are paramount. Although confidentiality impact is minimal, the disruption caused by kernel panics can lead to denial of service conditions and operational interruptions. Organizations using automated kernel updates or kexec-based fast reboots in their Hyper-V Linux guests are at higher risk. Since no known exploits exist yet, the threat is currently theoretical but should be addressed proactively to avoid potential exploitation once public awareness increases.

Mitigation Recommendations

European organizations should apply the Linux kernel patches that address this vulnerability as soon as they become available in their distribution updates. Specifically, ensure that Linux kernels running as Hyper-V guests are updated to versions that remove the flawed 'hyperv_init_cpuhp' handling and correctly manage CPU hotplug states. Avoid using kexec in Hyper-V Linux guests until patched, or implement strict testing to detect kernel panics related to VP assist page corruption. Additionally, monitor kernel logs for signs of VP assist page errors or unexpected panics. For environments where immediate patching is not feasible, consider isolating affected Linux guests or limiting kexec usage. Collaborate with Hyper-V host administrators to ensure host-side updates and configurations do not exacerbate the issue. Implement robust backup and recovery procedures to minimize downtime in case of crashes. Finally, maintain vigilance for any emerging exploit reports or security advisories related to this CVE.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-09-11T15:12:18.294Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9825c4522896dcbe0397

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

Last enriched: 6/28/2025, 6:57:06 PM

Last updated: 7/28/2025, 9:14:25 AM

Views: 10

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