Cloudanix VulnDB

CVE-2023-4155

Medium · 5.6

CVSS

5.6

EPSS

0.2%

Published

Sep 13, 2023

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in the way Linux handles certain secure virtual machines on AMD processors can let one virtual machine crash the host or, in rare cases, break out and affect other systems.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
High
Impact
Privilege Gain
Component
OS kernel
Class
Race Condition
Remediation
Upgrade
Effort
Medium
Patch risk
Medium

What it actually does

A double-fetch race condition in the KVM AMD SEV VMGEXIT handler allows a guest with multiple vCPUs running SEV-ES or SEV-SNP to invoke the handler recursively, causing a stack overflow that leads to denial of service or guest-to-host escape when CONFIG_VMAP_STACK is disabled.

Why it matters to the business

Virtualized workloads on affected AMD SEV hosts may experience sudden crashes or loss of isolation between guest and host, increasing operational downtime and risking compromise of the underlying hypervisor in configurations lacking stack protection.

How an attack unfolds

An attacker controlling a guest VM issues concurrent VMGEXIT calls from multiple vCPUs to trigger the race, recursively invoking the handler until the stack overflows and control flow is hijacked or the kernel panics.

How to fix it

Upgrade the Linux kernel to a version containing the fix for the double-fetch race in the SEV VMGEXIT path; enable CONFIG_VMAP_STACK on all affected hosts; apply vendor updates for Red Hat Enterprise Linux and Fedora as they become available.

How to confirm the fix worked

Verify the presence of the upstream patch in the running kernel, confirm CONFIG_VMAP_STACK=y via kernel config inspection, and test that SEV-ES/SNP guests with multiple vCPUs no longer trigger recursive VMGEXIT behavior under load.

Typical attack path

  1. Gain code execution or control inside a KVM guest using SEV-ES or SEV-SNP with multiple vCPUs
  2. Issue concurrent VMGEXIT hypercalls from separate vCPUs to induce the double-fetch race
  3. Recursively trigger the handler to exhaust the stack
  4. Either crash the host kernel (DoS) or attempt control-flow hijack for guest-to-host escape if stack guards are absent

How to detect it

Inspect kernel logs for repeated VMGEXIT entries, stack overflow oops, or SEV handler recursion; correlate with guest activity showing high-frequency hypercalls from multiple vCPUs.

What your security team should do

  • Prioritize kernel updates on all AMD SEV hosts within the next maintenance window
  • Audit virtualization configurations for disabled stack guard pages and enable CONFIG_VMAP_STACK where missing
  • Monitor for kernel oops or panic messages referencing VMGEXIT or SEV handlers
  • Restrict creation of multi-vCPU SEV-ES/SNP guests until patches are deployed

The record

A flaw was found in KVM AMD Secure Encrypted Virtualization (SEV) in the Linux kernel. A KVM guest using SEV-ES or SEV-SNP with multiple vCPUs can trigger a double fetch race condition vulnerability and invoke the `VMGEXIT` handler recursively. If an attacker manages to call the handler multiple times, they can trigger a stack overflow and cause a denial of service or potentially guest-to-host escape in kernel configurations without stack guard pages (`CONFIG_VMAP_STACK`).

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 bpftool 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-abi-stablelists 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-core 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-cross-headers 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-debug 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-debug-core 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-debug-devel 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-debug-modules 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-debug-modules-extra 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-devel 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-doc 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-headers 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-modules 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-modules-extra 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-tools 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-tools-libs 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-tools-libs-devel 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-zfcpdump 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-zfcpdump-core 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-zfcpdump-devel 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-zfcpdump-modules 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 kernel-zfcpdump-modules-extra 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 perf 0 4.18.0-513.5.1.el8_9
AlmaLinux:8 python3-perf 0 4.18.0-513.5.1.el8_9
Chainguard hyperv-daemons 0 0
Chainguard hyperv-daemons-6.12 0 0
Chainguard hyperv-daemons-6.18 0 0
Chainguard hyperv-daemons-generic 0 0
Chainguard linux 0 0
Chainguard linux-aws-6.12 0 6.12.63-r0
Chainguard linux-aws-6.12 0 6.12.65-r0
Chainguard linux-aws-6.12-boot-installed 0 0
Chainguard linux-aws-6.12-fips-boot-installed 0 0
Chainguard linux-aws-6.12-headers 0 0
Chainguard linux-aws-6.12-modules 0 0
Chainguard linux-aws-6.18 0 6.18.4-r0
Chainguard linux-aws-6.18 0 6.18.5-r2
Chainguard linux-aws-6.18-boot-installed 0 0
Chainguard linux-aws-6.18-fips-boot-installed 0 0
Chainguard linux-aws-6.18-headers 0 0
Chainguard linux-aws-6.18-modules 0 0
Chainguard linux-aws-generic 0 6.18.3-r0
Chainguard linux-aws-generic 0 6.18.5-r0
Chainguard linux-aws-generic-boot-configuration 0 0
Chainguard linux-aws-generic-boot-installed 0 0
Chainguard linux-aws-generic-fips-boot-installed 0 0
Chainguard linux-aws-generic-headers 0 0
Chainguard linux-aws-generic-modules 0 0
Chainguard linux-azure-6.12 0 6.12.63-r0
Chainguard linux-azure-6.12 0 6.12.65-r1
Chainguard linux-azure-6.12-boot-installed 0 0
Chainguard linux-azure-6.12-fips-boot-installed 0 0
Chainguard linux-azure-6.12-headers 0 0
Chainguard linux-azure-6.12-modules 0 0
Chainguard linux-azure-6.18 0 0
Chainguard linux-azure-6.18-boot-installed 0 0
Chainguard linux-azure-6.18-fips-boot-installed 0 0
Chainguard linux-azure-6.18-headers 0 0
Chainguard linux-azure-6.18-modules 0 0
Chainguard linux-azure-generic 0 6.18.3-r0
Chainguard linux-azure-generic 0 6.18.5-r0
Chainguard linux-azure-generic-boot-configuration 0 0
Chainguard linux-azure-generic-boot-installed 0 0
Chainguard linux-azure-generic-fips-boot-installed 0 0
Chainguard linux-azure-generic-headers 0 0
Chainguard linux-azure-generic-modules 0 0
Chainguard linux-boot-configuration 0 0
Chainguard linux-boot-installed 0 0
Chainguard linux-gcp-6.12 0 6.12.63-r0
Chainguard linux-gcp-6.12 0 6.12.65-r0
Chainguard linux-gcp-6.12-boot-installed 0 0
Chainguard linux-gcp-6.12-fips-boot-installed 0 0
Chainguard linux-gcp-6.12-headers 0 0
Chainguard linux-gcp-6.12-modules 0 0
Chainguard linux-gcp-6.18 0 6.18.4-r0
Chainguard linux-gcp-6.18 0 6.18.5-r2
Chainguard linux-gcp-6.18-boot-installed 0 0
Chainguard linux-gcp-6.18-fips-boot-installed 0 0
Chainguard linux-gcp-6.18-headers 0 0
Chainguard linux-gcp-6.18-modules 0 0
Chainguard linux-gcp-generic 0 6.18.3-r0
Chainguard linux-gcp-generic 0 6.18.5-r0
Chainguard linux-gcp-generic-boot-installed 0 0
Chainguard linux-gcp-generic-fips-boot-installed 0 0
Chainguard linux-gcp-generic-headers 0 0
Chainguard linux-gcp-generic-modules 0 0
Chainguard linux-modules 0 0
Chainguard linux-qemu-6.12 0 6.12.65-r2
Chainguard linux-qemu-6.12-boot-installed 0 6.12.63-r0
Chainguard linux-qemu-6.12-fips-boot-installed 0 6.12.63-r0
Chainguard linux-qemu-6.12-headers 0 6.12.63-r0
Chainguard linux-qemu-6.12-modules 0 6.12.63-r0
Chainguard linux-qemu-6.18 0 6.18.5-r2
Chainguard linux-qemu-6.18-boot-installed 0 6.18.2-r0
Chainguard linux-qemu-6.18-fips-boot-installed 0 6.18.2-r0
Chainguard linux-qemu-6.18-headers 0 6.18.2-r0
Chainguard linux-qemu-6.18-modules 0 6.18.2-r0
Chainguard linux-qemu-generic 0 6.18.3-r0
Chainguard linux-qemu-generic 0 6.18.5-r0
Chainguard linux-qemu-generic-boot-installed 0 0
Chainguard linux-qemu-generic-bootc-boot-installed 0 6.18.4-r0
Chainguard linux-qemu-generic-bootc-boot-installed 0 6.18.5-r0
Chainguard linux-qemu-generic-fips-boot-installed 0 0
Chainguard linux-qemu-generic-headers 0 0
Chainguard linux-qemu-generic-modules 0 0
Chainguard linux-qemu-rc 0 6.19_rc4-r0
Chainguard linux-qemu-rc 0 6.19_rc5-r0
Chainguard linux-qemu-rc-boot-installed 0 0
Chainguard linux-qemu-rc-fips-boot-installed 0 0
Chainguard linux-qemu-rc-headers 0 0
Chainguard linux-qemu-rc-modules 0 0
Chainguard linux-vmware-6.12 0 6.12.65-r2
Chainguard linux-vmware-6.12-boot-installed 0 6.12.63-r0
Chainguard linux-vmware-6.12-fips-boot-installed 0 6.12.63-r0
Chainguard linux-vmware-6.12-headers 0 6.12.63-r0
Chainguard linux-vmware-6.12-modules 0 6.12.63-r0
Chainguard linux-vmware-6.18 0 6.18.5-r2
Chainguard linux-vmware-6.18-boot-installed 0 6.18.2-r0
Chainguard linux-vmware-6.18-fips-boot-installed 0 6.18.2-r0
Chainguard linux-vmware-6.18-headers 0 6.18.2-r0
Chainguard linux-vmware-6.18-modules 0 6.18.2-r0
Chainguard linux-vmware-generic 0 6.18.3-r0
Chainguard linux-vmware-generic 0 6.18.5-r0
Chainguard linux-vmware-generic-boot-installed 0 0
Chainguard linux-vmware-generic-fips-boot-installed 0 0
Chainguard linux-vmware-generic-headers 0 0
Chainguard linux-vmware-generic-modules 0 0
Debian:12 linux 0 6.1.52-1
Debian:13 linux 0 6.4.11-1
Mageia:9 kernel 0 6.4.16-3.mga9
Mageia:9 kernel 0 6.5.11-5.mga9
Mageia:9 kernel-linus 0 6.4.16-3.mga9
Mageia:9 kernel-linus 0 6.5.11-2.mga9
Mageia:9 kmod-virtualbox 0 7.0.10-33.mga9
Mageia:9 kmod-virtualbox 0 7.0.10-37.mga9
Mageia:9 kmod-xtables-addons 0 3.24-48.mga9
Mageia:9 kmod-xtables-addons 0 3.24-50.mga9
Red Hat:enterprise_linux:8::baseos bpftool 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos bpftool-debuginfo 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-abi-stablelists 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-core 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-cross-headers 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-debug 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-debug-core 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-debug-debuginfo 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-debug-devel 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-debug-modules 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-debug-modules-extra 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-debuginfo 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-aarch64 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-ppc64le 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-s390x 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-x86_64 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-devel 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-doc 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-headers 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-modules 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-modules-extra 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-tools 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-tools-debuginfo 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-tools-libs 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-tools-libs-devel 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-core 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-debuginfo 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-devel 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules-extra 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos perf 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos perf-debuginfo 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos python3-perf 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::baseos python3-perf-debuginfo 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb bpftool 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb bpftool-debuginfo 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-abi-stablelists 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-core 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-cross-headers 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-debug 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-debug-core 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-debug-debuginfo 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-debug-devel 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-debug-modules 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-debug-modules-extra 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-debuginfo 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-aarch64 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-ppc64le 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-s390x 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-x86_64 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-devel 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-doc 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-headers 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-modules 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-modules-extra 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-tools 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-tools-debuginfo 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-tools-libs 0 0:4.18.0-513.5.1.el8_9
Red Hat:enterprise_linux:8::crb kernel-tools-libs-devel 0 0:4.18.0-513.5.1.el8_9

Related vulnerabilities