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 > 0". This will never be true and<br />
so hv_cpu_die() won&#39;t be called on all CPUs. This means the VP assist page<br />
won&#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().
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
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:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page



