blob: c0793499898d643efb139d90879bebc308413615 [file] [log] [blame]
From bippy-7c5fe7eed585 Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: <linux-cve-announce@vger.kernel.org>
Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org>
Subject: CVE-2021-47008: KVM: SVM: Make sure GHCB is mapped before updating
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
KVM: SVM: Make sure GHCB is mapped before updating
Access to the GHCB is mainly in the VMGEXIT path and it is known that the
GHCB will be mapped. But there are two paths where it is possible the GHCB
might not be mapped.
The sev_vcpu_deliver_sipi_vector() routine will update the GHCB to inform
the caller of the AP Reset Hold NAE event that a SIPI has been delivered.
However, if a SIPI is performed without a corresponding AP Reset Hold,
then the GHCB might not be mapped (depending on the previous VMEXIT),
which will result in a NULL pointer dereference.
The svm_complete_emulated_msr() routine will update the GHCB to inform
the caller of a RDMSR/WRMSR operation about any errors. While it is likely
that the GHCB will be mapped in this situation, add a safe guard
in this path to be certain a NULL pointer dereference is not encountered.
The Linux kernel CVE team has assigned CVE-2021-47008 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.11 with commit f1c6366e304328de301be362eca905a3503ff33b and fixed in 5.11.22 with commit fb9e14f4f8217a0980f8da2c8ff70dee058cbe47
Issue introduced in 5.11 with commit f1c6366e304328de301be362eca905a3503ff33b and fixed in 5.12.5 with commit fd722a57fe0b80133dacae4e1c852ee4212f9b2e
Issue introduced in 5.11 with commit f1c6366e304328de301be362eca905a3503ff33b and fixed in 5.13 with commit a3ba26ecfb569f4aa3f867e80c02aa65f20aadad
Please see https://www.kernel.org for 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-2021-47008
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/kvm/svm/sev.c
arch/x86/kvm/svm/svm.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/fb9e14f4f8217a0980f8da2c8ff70dee058cbe47
https://git.kernel.org/stable/c/fd722a57fe0b80133dacae4e1c852ee4212f9b2e
https://git.kernel.org/stable/c/a3ba26ecfb569f4aa3f867e80c02aa65f20aadad