Cloudanix VulnDB

CVE-2017-12188

High · 7.8

CVSS

7.8

EPSS

0.4%

Published

Oct 11, 2017

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A problem in how Linux manages certain virtual machines could let an attacker inside one virtual machine seize control of the entire physical server or shut it down.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
High
Impact
Full Compromise
Component
OS kernel
Class
Buffer Overflow
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw in arch/x86/kvm/mmu.c fails to correctly traverse guest page table entries during address resolution under nested virtualization, producing an incorrect index that triggers a stack buffer overrun and allows L1 guest code to execute on the host or crash the host kernel.

Why it matters to the business

Compromise of a single virtual machine can extend to full control of the physical host or cause widespread denial of service, exposing hosted workloads, data, and infrastructure availability in any environment that relies on KVM nested virtualization.

How an attack unfolds

An attacker who already controls an L1 guest operating system enables nested virtualization, supplies malicious guest page table structures, and forces the host KVM MMU to walk those tables; the resulting bad index overwrites the stack, granting arbitrary code execution or a host crash.

How to fix it

Upgrade the Linux kernel on all affected hosts to a version containing the MMU traversal fix (beyond 4.13.5) and reboot; if nested virtualization is unnecessary, disable it via KVM module parameters until the update can be applied.

How to confirm the fix worked

Confirm that running kernel versions on hosts exceed 4.13.5, exercise nested virtualization workloads in a test environment to verify absence of crashes, and review kernel build logs or package manifests for the applied patch.

Typical attack path

  1. Obtain code execution inside an L1 guest virtual machine
  2. Activate nested virtualization features inside that guest
  3. Construct and load crafted guest page table entries
  4. Trigger address resolution that exercises the vulnerable MMU walk path
  5. Leverage the stack overrun for host-level code execution or denial of service

How to detect it

Review host kernel logs for KVM MMU oops or stack overflow messages, correlate guest-initiated page table operations with host crashes, and examine any available nested virtualization audit trails for anomalous address resolution activity.

What your security team should do

  • Apply kernel updates to all KVM hosts immediately
  • Disable nested virtualization on hosts where it is not required
  • Audit virtual machine inventory for use of nested virtualization features
  • Incorporate KVM MMU-related kernel oops monitoring into existing alerting

The record

arch/x86/kvm/mmu.c in the Linux kernel through 4.13.5, when nested virtualisation is used, does not properly traverse guest pagetable entries to resolve a guest virtual address, which allows L1 guest OS users to execute arbitrary code on the host OS or cause a denial of service (incorrect index during page walking, and host OS crash), aka an "MMU potential stack buffer overrun."

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 4.13.4-2
Debian:12 linux 0 4.13.4-2
Debian:13 linux 0 4.13.4-2
Mageia:6 kernel 0 4.14.10-1.mga6
Mageia:6 kernel-linus 0 4.14.10-1.mga6
Mageia:6 kernel-tmb 0 4.14.10-1.mga6
Mageia:6 kernel-userspace-headers 0 4.14.10-1.mga6
Mageia:6 kmod-vboxadditions 0 5.2.2-5.mga6
Mageia:6 kmod-virtualbox 0 5.2.2-5.mga6
Mageia:6 kmod-xtables-addons 0 2.13-8.mga6
Mageia:6 wireguard-tools 0 0.0.20171221-1.mga6
Red Hat:enterprise_linux:7::client kernel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-abi-whitelists 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-bootwrapper 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-debug 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-debug-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-debug-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-ppc64 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-s390x 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-x86_64 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-doc 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-headers 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-kdump 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-kdump-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-kdump-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-tools 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-tools-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-tools-libs 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client kernel-tools-libs-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client perf 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client perf-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client python-perf 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::client python-perf-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-abi-whitelists 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-bootwrapper 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debug 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debug-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debug-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-ppc64 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-s390x 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-x86_64 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-doc 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-headers 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-tools 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-libs 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-libs-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode perf 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode perf-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode python-perf 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::computenode python-perf-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-abi-whitelists 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-bootwrapper 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-debug 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-debug-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-debug-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-ppc64 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-s390x 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-x86_64 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-doc 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-headers 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-kdump 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-kdump-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-kdump-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-tools 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-tools-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-tools-libs 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server kernel-tools-libs-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server perf 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server perf-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server python-perf 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::server python-perf-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-abi-whitelists 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-bootwrapper 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debug 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debug-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debug-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-ppc64 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-s390x 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-x86_64 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-doc 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-headers 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-tools 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-libs 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-libs-devel 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation perf 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation perf-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation python-perf 0 0:3.10.0-693.21.1.el7
Red Hat:enterprise_linux:7::workstation python-perf-debuginfo 0 0:3.10.0-693.21.1.el7
Red Hat:rhel_extras_rt:7 kernel-rt 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-debug 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-debug-debuginfo 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-debug-devel 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-debug-kvm 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-debug-kvm-debuginfo 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-debuginfo 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-debuginfo-common-x86_64 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-devel 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-doc 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-kvm 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-kvm-debuginfo 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-trace 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-trace-debuginfo 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-trace-devel 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-trace-kvm 0 0:3.10.0-693.21.1.rt56.639.el7
Red Hat:rhel_extras_rt:7 kernel-rt-trace-kvm-debuginfo 0 0:3.10.0-693.21.1.rt56.639.el7
Ubuntu:14.04:LTS linux 0 3.11.0-12.19
Ubuntu:14.04:LTS linux-aws 0 4.4.0-1002.2
Ubuntu:14.04:LTS linux-azure 0 4.15.0-1023.24~14.04.1
Ubuntu:14.04:LTS linux-lts-xenial 0 4.4.0-13.29~14.04.1
Ubuntu:16.04:LTS linux 0 4.4.0-2.16
Ubuntu:16.04:LTS linux-aws 0 4.4.0-1001.10
Ubuntu:16.04:LTS linux-aws-hwe 0 4.15.0-1030.31~16.04.1
Ubuntu:16.04:LTS linux-azure 0 4.11.0-1015.15
Ubuntu:16.04:LTS linux-gcp 0 4.10.0-1009.9
Ubuntu:16.04:LTS linux-hwe 0 4.10.0-40.44~16.04.1
Ubuntu:16.04:LTS linux-hwe 0 4.13.0-32.35~16.04.1
Ubuntu:16.04:LTS linux-kvm 0 4.4.0-1004.9
Ubuntu:16.04:LTS linux-oem 0 4.13.0-1008.9
Ubuntu:16.04:LTS linux-oracle 0 4.15.0-1007.9~16.04.1
Ubuntu:18.04:LTS linux 0 4.13.0-17.20
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.4 0 5.4.0-1020.20~18.04.1
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.4 0 5.4.0-1019.19~18.04.2
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-oem 0 No fix
Ubuntu:18.04:LTS linux-oracle 0 4.15.0-1007.9
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-1006.6
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.15 0 5.15.0-1014.18~20.04.1
Ubuntu:20.04:LTS linux-azure 0 5.4.0-1006.6
Ubuntu:20.04:LTS linux-azure-5.15 0 5.15.0-1007.8~20.04.1
Ubuntu:20.04:LTS linux-azure-fde 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.15 0 5.15.0-1006.9~20.04.1
Ubuntu:20.04:LTS linux-gke 0 No fix
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.15 0 5.15.0-33.34~20.04.1
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-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-oracle 0 5.4.0-1005.5
Ubuntu:20.04:LTS linux-oracle-5.15 0 5.15.0-1007.9~20.04.1
Ubuntu:20.04:LTS linux-raspi 0 5.4.0-1007.7
Ubuntu:20.04:LTS linux-raspi2 0 No fix
Ubuntu:20.04:LTS linux-riscv 0 No fix
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.13.0-19.19
Ubuntu:22.04:LTS linux-aws 0 5.13.0-1005.6
Ubuntu:22.04:LTS linux-azure 0 5.13.0-1006.7
Ubuntu:22.04:LTS linux-azure-fde 0 5.15.0-1019.24.1
Ubuntu:22.04:LTS linux-gcp 0 5.13.0-1005.6
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.8 0 6.8.0-38.38~22.04.1
Ubuntu:22.04:LTS linux-ibm 0 5.15.0-1002.2
Ubuntu:22.04:LTS linux-intel-iot-realtime 0 No fix
Ubuntu:22.04:LTS linux-intel-iot-realtime 0 5.15.0-1021.26
Ubuntu:22.04:LTS linux-intel-iotg 0 5.15.0-1004.6
Ubuntu:22.04:LTS linux-kvm 0 5.13.0-1004.4
Ubuntu:22.04:LTS linux-lowlatency 0 5.15.0-22.22

Related vulnerabilities