CVE-2024-46864
Last modified
CVE-2024-46864 is a medium-severity vulnerability rated 5.5/10 on the CVSS scale. 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". EPSS estimates a 0.21% chance of exploitation in the next 30 days.
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().
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Affected Software
| Vendor | Product | Versions | Update |
|---|---|---|---|
| Linux | Linux Kernel | >= 6.4, < 6.6.52 | — |
| Linux | Linux Kernel | >= 6.7, <= 6.10.11 | — |
| Linux | Linux Kernel | 6.11 | Rc1 |
References
Timeline
- Published
- Last Modified
- Status
- Analyzed
Frequently Asked Questions
What is CVE-2024-46864?
How severe is CVE-2024-46864?
How do I fix CVE-2024-46864?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2024
- CVE-2024-46859In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2024-4686A vulnerability was found in Campcodes Complete Web-Based Sc…6.1
- CVE-2024-46860In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-46861In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-46862In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-46863In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-46865In the Linux kernel, the following vulnerability has been re…7.1
- CVE-2024-46866In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-46867In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-46868In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-46869In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-4687A vulnerability classified as problematic has been found in …6.1
Are you affected by CVE-2024-46864?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
