A flaw was found in the KVM's AMD code for supporting SVM nested virtualization. The flaw occurs when processing the VMCB (virtual machine control block) provided by the L1 guest to spawn/handle a nested guest (L2). Due to improper validation of the "virt_ext" field, this issue could allow a malicious L1 to disable both VMLOAD/VMSAVE intercepts and VLS (Virtual VMLOAD/VMSAVE) for the L2 guest. As a result, the L2 guest would be allowed to read/write physical pages of the host, resulting in a crash of the entire system, leak of sensitive data or potential guest-to-host escape. Upstream fix: https://git.kernel.org/pub/scm/virt/kvm/kvm.git/commit/?id=c7dfa4009965a9b2d7b329ee970eb8da0d32f0bc
If L1 disables VMLOAD/VMSAVE intercepts, and doesn't enable Virtual VMLOAD/VMSAVE (currently not supported for the nested hypervisor), then VMLOAD/VMSAVE must operate on the L1 physical memory, which is only possible by making L0 intercept these instructions. Failure to do so allowed the nested guest to run VMLOAD/VMSAVE unintercepted, and thus read/write portions of the host physical memory.
This bug was introduced in kernel version 4.13 while enabling the Virtual VMLOAD/VMSAVE feature: https://github.com/torvalds/linux/commit/89c8a4984fc9
Created kernel tracking bugs for this issue: Affects: fedora-all [bug 1995452]
This issue has been addressed in the following products: Red Hat Enterprise Linux 8.1 Extended Update Support Via RHSA-2021:3676 https://access.redhat.com/errata/RHSA-2021:3676
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s): https://access.redhat.com/security/cve/cve-2021-3656
This issue has been addressed in the following products: Red Hat Enterprise Linux 7.6 Advanced Update Support Red Hat Enterprise Linux 7.6 Update Services for SAP Solutions Red Hat Enterprise Linux 7.6 Telco Extended Update Support Via RHSA-2021:3812 https://access.redhat.com/errata/RHSA-2021:3812
This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2021:3801 https://access.redhat.com/errata/RHSA-2021:3801
This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2021:3802 https://access.redhat.com/errata/RHSA-2021:3802
This issue has been addressed in the following products: Red Hat Enterprise Linux 8.2 Extended Update Support Via RHSA-2021:3909 https://access.redhat.com/errata/RHSA-2021:3909
This issue has been addressed in the following products: Red Hat Enterprise Linux 8.2 Extended Update Support Via RHSA-2021:3904 https://access.redhat.com/errata/RHSA-2021:3904
This issue has been addressed in the following products: Red Hat Enterprise Linux 7.7 Advanced Update Support Red Hat Enterprise Linux 7.7 Update Services for SAP Solutions Red Hat Enterprise Linux 7.7 Telco Extended Update Support Via RHSA-2021:3987 https://access.redhat.com/errata/RHSA-2021:3987
This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2021:4056 https://access.redhat.com/errata/RHSA-2021:4056
This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2021:4088 https://access.redhat.com/errata/RHSA-2021:4088