Subject: CVE-2023-52514: x86/reboot: VMCLEAR active VMCSes before emergency reboot

From: Greg Kroah-Hartman <[email-masked]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

x86/reboot: VMCLEAR active VMCSes before emergency reboot

VMCLEAR active VMCSes before any emergency reboot, not just if the kernel
may kexec into a new kernel after a crash.  Per Intel's SDM, the VMX
architecture doesn't require the CPU to flush the VMCS cache on INIT.  If
an emergency reboot doesn't RESET CPUs, cached VMCSes could theoretically
be kept and only be written back to memory after the new kernel is booted,
i.e. could effectively corrupt memory after reboot.

Opportunistically remove the setting of the global pointer to NULL to make
checkpatch happy.

The Linux kernel CVE team has assigned CVE-2023-52514 to this issue.

Affected and fixed versions
===========================

	Fixed in 6.1.56 with commit 1375d9600c38
	Fixed in 6.5.6 with commit 65edea77d700
	Fixed in 6.6 with commit b23c83ad2c63

Please see https://www.kernel.org or a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2023-52514
will be updated if fixes are backported, please check that for the most
up to date information about this issue.

Affected files
==============

The file(s) affected by this issue are:
	arch/x86/include/asm/kexec.h
	arch/x86/include/asm/reboot.h
	arch/x86/kernel/crash.c
	arch/x86/kernel/reboot.c
	arch/x86/kvm/vmx/vmx.c

Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/1375d9600c38c231163de584656b07aef9a27b0d
	https://git.kernel.org/stable/c/65edea77d7006140c6290e7f46009d75e02d3273
	https://git.kernel.org/stable/c/b23c83ad2c638420ec0608a9de354507c41bec29