Cloudanix VulnDB

CVE-2021-4093

High · 8.8

CVSS

8.8

EPSS

0.4%

Published

Feb 18, 2022

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A problem in the way Linux handles certain encrypted virtual machines on AMD processors could let one virtual machine crash the whole server or take over the machine that runs all the others.

Exploit Available
Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Full Compromise
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Medium

What it actually does

Out-of-bounds read and write in the host kernel triggered by a malicious VMGEXIT for string I/O instructions (outs/ins) under SVM_EXIT_IOIO when a guest uses AMD SEV-ES.

Why it matters to the business

A compromised or malicious virtual machine can crash the entire host server or escape to access other virtual machines and host resources, disrupting operations across all workloads on the affected system.

How an attack unfolds

An attacker who controls a guest VM configured for SEV-ES crafts a string I/O instruction that generates an SVM_EXIT_IOIO VMGEXIT; the unhandled exit reason in the KVM AMD SEV-ES code path performs an out-of-bounds access in the host kernel, resulting in a crash or arbitrary read/write that can be leveraged for guest-to-host escape.

How to fix it

Apply the latest security updates for the Linux kernel on all affected distributions (Red Hat Enterprise Linux, Fedora, Ubuntu) that contain the SEV-ES fixes; disable SEV-ES on AMD hosts if patches cannot be applied promptly.

How to confirm the fix worked

Verify that running kernel versions contain the upstream KVM AMD SEV-ES IOIO fixes; confirm no vulnerable code paths remain by inspecting kvm-amd and svm.c after reboot; re-test guest VMs with SEV-ES enabled under load.

Typical attack path

  1. Gain control of a guest VM that supports or can enable SEV-ES
  2. Issue a malicious string I/O instruction (outs/ins) from the guest
  3. Force an SVM_EXIT_IOIO VMGEXIT with crafted parameters
  4. Trigger out-of-bounds memory access in the host KVM AMD handler
  5. Crash the host or escalate to full host compromise

How to detect it

Search hypervisor and kernel logs for repeated SVM_EXIT_IOIO exits from SEV-ES guests, unexpected host panics in kvm-amd or svm code paths, and any post-crash artifacts indicating guest-initiated IOIO activity.

What your security team should do

  • Prioritize kernel updates on all AMD hosts running KVM with SEV-ES
  • Isolate or migrate workloads away from unpatched hosts until fixed
  • Review hypervisor logs for SVM_EXIT_IOIO entries from untrusted guests
  • Consider disabling SEV-ES where not strictly required until patches are deployed

The record

A flaw was found in the KVM's AMD code for supporting the Secure Encrypted Virtualization-Encrypted State (SEV-ES). A KVM guest using SEV-ES can trigger out-of-bounds reads and writes in the host kernel via a malicious VMGEXIT for a string I/O instruction (for example, outs or ins) using the exit reason SVM_EXIT_IOIO. This issue results in a crash of the entire system or a potential guest-to-host escape scenario.

Affected packages

Ecosystem Package Introduced Fixed
Debian:12 linux 0 5.14.16-1
Debian:13 linux 0 5.14.16-1
Red Hat:enterprise_linux:8::baseos bpftool 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos bpftool-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-abi-stablelists 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-core 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-cross-headers 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debug 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-core 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-modules 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-modules-extra 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-aarch64 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-ppc64le 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-s390x 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-x86_64 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-doc 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-headers 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-modules 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-modules-extra 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-tools 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-libs 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-libs-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-core 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules-extra 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos perf 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos perf-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos python3-perf 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos python3-perf-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb bpftool 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb bpftool-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-abi-stablelists 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-core 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-cross-headers 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debug 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debug-core 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debug-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debug-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debug-modules 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debug-modules-extra 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-aarch64 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-ppc64le 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-s390x 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-x86_64 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-doc 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-headers 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-modules 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-modules-extra 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-tools 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-tools-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-tools-libs 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-tools-libs-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-core 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-modules 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-modules-extra 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb perf 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb perf-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb python3-perf 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb python3-perf-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::nfv kernel-rt 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-core 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-core 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-debuginfo 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-devel 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-kvm 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-modules 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-modules-extra 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debuginfo 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debuginfo-common-x86_64 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-devel 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-kvm 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-modules 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-modules-extra 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-core 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-core 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-debuginfo 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-devel 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-kvm 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-modules 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-modules-extra 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debuginfo 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debuginfo-common-x86_64 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-devel 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-kvm 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-modules 0 0:4.18.0-372.9.1.rt7.166.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-modules-extra 0 0:4.18.0-372.9.1.rt7.166.el8
Rocky Linux:8 kernel 0 0:4.18.0-372.9.1.el8
Ubuntu:16.04:LTS linux-hwe-edge 0 No fix
Ubuntu:18.04:LTS linux 0 4.13.0-16.19
Ubuntu:18.04:LTS linux-aws 0 4.15.0-1001.1
Ubuntu:18.04:LTS linux-aws-5.0 0 No fix
Ubuntu:18.04:LTS linux-aws-5.3 0 No fix
Ubuntu:18.04:LTS linux-aws-5.4 0 5.4.0-1018.18~18.04.1
Ubuntu:18.04:LTS linux-azure 0 No fix
Ubuntu:18.04:LTS linux-azure-4.15 0 4.15.0-1082.92
Ubuntu:18.04:LTS linux-azure-5.3 0 No fix
Ubuntu:18.04:LTS linux-azure-5.4 0 5.4.0-1020.20~18.04.1
Ubuntu:18.04:LTS linux-azure-edge 0 No fix
Ubuntu:18.04:LTS linux-dell300x 0 4.15.0-1005.8
Ubuntu:18.04:LTS linux-gcp 0 No fix
Ubuntu:18.04:LTS linux-gcp-4.15 0 4.15.0-1071.81
Ubuntu:18.04:LTS linux-gcp-5.3 0 No fix
Ubuntu:18.04:LTS linux-gcp-5.4 0 5.4.0-1019.19~18.04.2
Ubuntu:18.04:LTS linux-gke-4.15 0 No fix
Ubuntu:18.04:LTS linux-gke-5.4 0 5.4.0-1025.25~18.04.1
Ubuntu:18.04:LTS linux-gkeop-5.4 0 5.4.0-1001.1
Ubuntu:18.04:LTS linux-hwe 0 No fix
Ubuntu:18.04:LTS linux-hwe-5.4 0 5.4.0-37.41~18.04.1
Ubuntu:18.04:LTS linux-hwe-edge 0 No fix
Ubuntu:18.04:LTS linux-ibm-5.4 0 5.4.0-1010.11~18.04.2
Ubuntu:18.04:LTS linux-kvm 0 4.15.0-1002.2
Ubuntu:18.04:LTS linux-oem 0 No fix
Ubuntu:18.04:LTS linux-oracle 0 4.15.0-1007.9
Ubuntu:18.04:LTS linux-oracle-5.0 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.3 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.4 0 5.4.0-1019.19~18.04.1
Ubuntu:18.04:LTS linux-raspi-5.4 0 5.4.0-1013.13~18.04.1
Ubuntu:18.04:LTS linux-raspi2 0 4.13.0-1005.5
Ubuntu:18.04:LTS linux-snapdragon 0 4.4.0-1077.82
Ubuntu:20.04:LTS linux 0 5.4.0-9.12
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1005.5
Ubuntu:20.04:LTS linux-aws-5.11 0 5.11.0-1028.31~20.04.1
Ubuntu:20.04:LTS linux-aws-5.13 0 5.13.0-1012.13~20.04.1
Ubuntu:20.04:LTS linux-aws-5.15 0 5.15.0-1014.18~20.04.1
Ubuntu:20.04:LTS linux-aws-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure 0 5.4.0-1006.6
Ubuntu:20.04:LTS linux-azure-5.11 0 5.11.0-1028.31~20.04.2
Ubuntu:20.04:LTS linux-azure-5.13 0 5.13.0-1013.15~20.04.1
Ubuntu:20.04:LTS linux-azure-5.15 0 5.15.0-1007.8~20.04.1
Ubuntu:20.04:LTS linux-azure-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure-fde-5.15 0 5.15.0-1019.24~20.04.1.1
Ubuntu:20.04:LTS linux-bluefield 0 5.4.0-1007.10
Ubuntu:20.04:LTS linux-gcp 0 5.4.0-1005.5
Ubuntu:20.04:LTS linux-gcp-5.11 0 5.11.0-1029.33~20.04.3
Ubuntu:20.04:LTS linux-gcp-5.13 0 5.13.0-1013.16~20.04.1
Ubuntu:20.04:LTS linux-gcp-5.15 0 5.15.0-1006.9~20.04.1
Ubuntu:20.04:LTS linux-gcp-5.8 0 No fix
Ubuntu:20.04:LTS linux-gke 0 5.4.0-1033.35
Ubuntu:20.04:LTS linux-gke-5.15 0 5.15.0-1011.14~20.04.1
Ubuntu:20.04:LTS linux-gkeop 0 5.4.0-1008.9
Ubuntu:20.04:LTS linux-gkeop-5.15 0 5.15.0-1003.5~20.04.2
Ubuntu:20.04:LTS linux-hwe-5.11 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.13 0 5.13.0-28.31~20.04.1
Ubuntu:20.04:LTS linux-hwe-5.15 0 5.15.0-33.34~20.04.1
Ubuntu:20.04:LTS linux-hwe-5.8 0 No fix
Ubuntu:20.04:LTS linux-ibm 0 5.4.0-1003.4
Ubuntu:20.04:LTS linux-ibm-5.15 0 5.15.0-1033.36~20.04.1
Ubuntu:20.04:LTS linux-intel-5.13 0 No fix
Ubuntu:20.04:LTS linux-intel-iotg-5.15 0 5.15.0-1003.5~20.04.1
Ubuntu:20.04:LTS linux-iot 0 5.4.0-1001.3
Ubuntu:20.04:LTS linux-kvm 0 5.4.0-1004.4
Ubuntu:20.04:LTS linux-lowlatency-hwe-5.15 0 5.15.0-33.34~20.04.1
Ubuntu:20.04:LTS linux-oem-5.10 0 5.10.0-1008.9
Ubuntu:20.04:LTS linux-oem-5.13 0 5.13.0-1029.36
Ubuntu:20.04:LTS linux-oem-5.14 0 5.14.0-1008.8
Ubuntu:20.04:LTS linux-oem-5.6 0 No fix
Ubuntu:20.04:LTS linux-oracle 0 5.4.0-1005.5
Ubuntu:20.04:LTS linux-oracle-5.11 0 5.11.0-1028.31~20.04.1
Ubuntu:20.04:LTS linux-oracle-5.13 0 5.13.0-1016.20~20.04.1
Ubuntu:20.04:LTS linux-oracle-5.15 0 5.15.0-1007.9~20.04.1
Ubuntu:20.04:LTS linux-oracle-5.8 0 No fix
Ubuntu:20.04:LTS linux-raspi 0 5.4.0-1007.7
Ubuntu:20.04:LTS linux-riscv-5.15 0 5.15.0-1015.17~20.04.1
Ubuntu:20.04:LTS linux-xilinx-zynqmp 0 5.4.0-1020.24
Ubuntu:22.04:LTS linux 0 5.15.0-17.17
Ubuntu:22.04:LTS linux-aws 0 5.15.0-1002.4
Ubuntu:22.04:LTS linux-aws-6.5 0 6.5.0-1008.8~22.04.1
Ubuntu:22.04:LTS linux-azure 0 5.15.0-1001.2
Ubuntu:22.04:LTS linux-azure-6.5 0 6.5.0-1007.7~22.04.1
Ubuntu:22.04:LTS linux-azure-fde 0 5.15.0-1019.24.1
Ubuntu:22.04:LTS linux-gcp 0 5.15.0-1001.3
Ubuntu:22.04:LTS linux-gcp-6.5 0 6.5.0-1010.10~22.04.3
Ubuntu:22.04:LTS linux-gke 0 5.15.0-1002.2
Ubuntu:22.04:LTS linux-gkeop 0 5.15.0-1001.2
Ubuntu:22.04:LTS linux-hwe-6.5 0 6.5.0-14.14~22.04.1
Ubuntu:22.04:LTS linux-ibm 0 5.15.0-1002.2
Ubuntu:22.04:LTS linux-intel-iotg 0 5.15.0-1004.6
Ubuntu:22.04:LTS linux-kvm 0 5.15.0-1002.2
Ubuntu:22.04:LTS linux-lowlatency 0 5.15.0-22.22
Ubuntu:22.04:LTS linux-lowlatency-hwe-6.5 0 6.5.0-14.14.1~22.04.1
Ubuntu:22.04:LTS linux-nvidia 0 5.15.0-1005.5
Ubuntu:22.04:LTS linux-nvidia-6.5 0 6.5.0-1004.4

Related vulnerabilities