CVE-2024-46864

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
27/09/2024
Last modified:
03/10/2024

Description

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

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.4 (including) 6.6.52 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.10.11 (including)
cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc7:*:*:*:*:*:*