Cloudanix VulnDB

CVE-2016-9588

Medium · 5.5

CVSS

5.5

EPSS

0.4%

Published

Dec 28, 2016

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the Linux kernel's handling of certain virtual-machine exceptions can let one virtual machine crash itself, potentially interrupting services until the system is restarted or updated.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw in arch/x86/kvm/vmx.c mismanages #BP and #OF exceptions delivered from an L2 guest, allowing the L1 guest kernel to receive unhandled exceptions that trigger a guest OS crash.

Why it matters to the business

Virtualized Linux workloads on affected kernels can experience sudden guest crashes, causing service outages and requiring manual restarts or live migration in environments that rely on KVM.

How an attack unfolds

An attacker with code execution inside an L1 guest crafts or triggers a #BP or #OF exception from an L2 guest that the L1 guest declines to handle, resulting in the L1 guest kernel crashing due to improper exception management in the KVM VMX code path.

How to fix it

Upgrade the Linux kernel to the commit ef85b67385436ddc1998f45f1d6a210f935b3388 or later; apply the vendor-supplied kernel package that contains this fix for the running distribution.

How to confirm the fix worked

Confirm the running kernel contains commit ef85b67385436ddc1998f45f1d6a210f935b3388 or a backported equivalent; test exception handling behavior with a synthetic L2 guest that issues #BP/#OF exceptions.

Typical attack path

  1. Obtain code execution inside an L1 guest virtual machine
  2. Create or invoke an L2 guest that deliberately generates a #BP or #OF exception
  3. Configure the L1 guest to decline handling the exception
  4. Trigger the exception to force the L1 guest kernel into an unhandled state and crash

How to detect it

Review kernel crash logs and hypervisor logs on KVM hosts for sudden guest terminations that coincide with exception delivery from nested guests; correlate with any custom L2 exception-generation tooling.

What your security team should do

  • Prioritize kernel updates on all KVM hosts and guests that process untrusted workloads
  • Verify that live-migration or restart procedures exist for affected guests before patching
  • Monitor vendor kernel update channels for backports of ef85b67385436ddc1998f45f1d6a210f935b3388

The record

arch/x86/kvm/vmx.c in the Linux kernel through 4.9 mismanages the #BP and #OF exceptions, which allows guest OS users to cause a denial of service (guest OS crash) by declining to handle an exception thrown by an L2 guest.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 4.8.15-2
Debian:12 linux 0 4.8.15-2
Debian:13 linux 0 4.8.15-2
Debian:7 linux 0 3.2.86-1
Debian:8 linux 0 3.16.39-1+deb8u2
Mageia:5 kernel 0 4.4.50-2.mga5
Mageia:5 kernel-linus 0 4.4.50-2.mga5
Mageia:5 kernel-tmb 0 4.4.50-2.mga5
Mageia:5 kernel-userspace-headers 0 4.4.50-2.mga5
Mageia:5 kmod-vboxadditions 0 5.1.10-12.mga5
Mageia:5 kmod-virtualbox 0 5.1.10-12.mga5
Mageia:5 kmod-xtables-addons 0 2.10-32.mga5
Red Hat:enterprise_linux:7::client kernel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-abi-whitelists 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-bootwrapper 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debug 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debug-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debug-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-ppc64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-s390x 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-x86_64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-doc 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-headers 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-kdump 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-kdump-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-kdump-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-tools 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-tools-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-tools-libs 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-tools-libs-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client python-perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client python-perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-abi-whitelists 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-bootwrapper 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debug 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debug-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debug-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-ppc64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-s390x 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-x86_64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-doc 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-headers 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-tools 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-libs 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-libs-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode python-perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode python-perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-abi-whitelists 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-bootwrapper 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debug 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debug-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debug-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-ppc64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-s390x 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-x86_64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-doc 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-headers 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-kdump 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-kdump-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-kdump-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-tools 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-tools-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-tools-libs 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-tools-libs-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server python-perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server python-perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-abi-whitelists 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-bootwrapper 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debug 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debug-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debug-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-ppc64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-s390x 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-x86_64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-doc 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-headers 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-tools 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-libs 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-libs-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation python-perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation python-perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:rhel_extras_rt:7 kernel-rt 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-debug 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-debug-debuginfo 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-debug-devel 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-debug-kvm 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-debug-kvm-debuginfo 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-debuginfo 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-debuginfo-common-x86_64 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-devel 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-doc 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-kvm 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-kvm-debuginfo 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-trace 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-trace-debuginfo 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-trace-devel 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-trace-kvm 0 0:3.10.0-693.rt56.617.el7
Red Hat:rhel_extras_rt:7 kernel-rt-trace-kvm-debuginfo 0 0:3.10.0-693.rt56.617.el7
SUSE:Linux Enterprise Desktop 12 SP1 kernel-default 0 3.12.74-60.64.40.1
SUSE:Linux Enterprise Desktop 12 SP1 kernel-source 0 3.12.74-60.64.40.1
SUSE:Linux Enterprise Desktop 12 SP1 kernel-syms 0 3.12.74-60.64.40.1
SUSE:Linux Enterprise Desktop 12 SP1 kernel-xen 0 3.12.74-60.64.40.1
SUSE:Linux Enterprise Live Patching 12 kgraft-patch-SLE12-SP1_Update_15 0 1-4.1
SUSE:Linux Enterprise Module for Public Cloud 12 kernel-ec2 0 3.12.61-52.72.1
SUSE:Linux Enterprise Module for Public Cloud 12 kernel-ec2 0 3.12.74-60.64.40.1
SUSE:Linux Enterprise Server 12 SP1 kernel-default 0 3.12.74-60.64.40.1
SUSE:Linux Enterprise Server 12 SP1 kernel-source 0 3.12.74-60.64.40.1
SUSE:Linux Enterprise Server 12 SP1 kernel-syms 0 3.12.74-60.64.40.1
SUSE:Linux Enterprise Server 12 SP1 kernel-xen 0 3.12.74-60.64.40.1
SUSE:Linux Enterprise Server 12-LTSS kernel-default 0 3.12.61-52.72.1
SUSE:Linux Enterprise Server 12-LTSS kernel-source 0 3.12.61-52.72.1
SUSE:Linux Enterprise Server 12-LTSS kernel-syms 0 3.12.61-52.72.1
SUSE:Linux Enterprise Server 12-LTSS kernel-xen 0 3.12.61-52.72.1
SUSE:Linux Enterprise Server 12-LTSS kgraft-patch-SLE12_Update_21 0 1-2.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-default 0 3.12.61-52.72.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-source 0 3.12.61-52.72.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-syms 0 3.12.61-52.72.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-xen 0 3.12.61-52.72.1
SUSE:Linux Enterprise Server for SAP Applications 12 kgraft-patch-SLE12_Update_21 0 1-2.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-default 0 3.12.74-60.64.40.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-source 0 3.12.74-60.64.40.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-syms 0 3.12.74-60.64.40.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-xen 0 3.12.74-60.64.40.1
SUSE:Linux Enterprise Software Development Kit 12 SP1 kernel-docs 0 3.12.74-60.64.40.4
SUSE:Linux Enterprise Software Development Kit 12 SP1 kernel-obs-build 0 3.12.74-60.64.40.1
SUSE:Linux Enterprise Workstation Extension 12 SP1 kernel-default 0 3.12.74-60.64.40.1
Ubuntu:14.04:LTS linux 0 3.13.0-162.212
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-63.84~14.04.2
Ubuntu:14.04:LTS linux-lts-xenial 0 4.4.0-64.85~14.04.1
Ubuntu:16.04:LTS linux 0 4.4.0-63.84
Ubuntu:16.04:LTS linux 0 4.4.0-64.85
Ubuntu:16.04:LTS linux-aws 0 4.4.0-1003.12
Ubuntu:16.04:LTS linux-azure 0 4.11.0-1009.9
Ubuntu:16.04:LTS linux-gcp 0 4.10.0-1004.4
Ubuntu:16.04:LTS linux-gke 0 4.4.0-1003.3
Ubuntu:16.04:LTS linux-hwe 0 4.8.0-39.42~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-raspi2 0 4.4.0-1044.51
Ubuntu:16.04:LTS linux-snapdragon 0 4.4.0-1047.51
Ubuntu:16.04:LTS linux-snapdragon 0 4.4.0-1048.52
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-azure 0 4.15.0-1002.2
Ubuntu:18.04:LTS linux-gcp 0 4.15.0-1001.1
Ubuntu:18.04:LTS linux-kvm 0 4.15.0-1002.2
Ubuntu:18.04:LTS linux-oem 0 4.15.0-1002.3
Ubuntu:18.04:LTS linux-raspi2 0 4.13.0-1005.5
Ubuntu:20.04:LTS linux-azure-fde 0 No fix
Ubuntu:20.04:LTS linux-gke 0 No fix
Ubuntu:20.04:LTS linux-gkeop 0 No fix
Ubuntu:20.04:LTS linux-raspi2 0 No fix
Ubuntu:20.04:LTS linux-riscv 0 No fix
Ubuntu:22.04:LTS linux-intel-iot-realtime 0 No fix
Ubuntu:22.04:LTS linux-realtime 0 No fix
Ubuntu:22.04:LTS linux-riscv 0 No fix
Ubuntu:24.04:LTS linux-azure-6.11 0 No fix
Ubuntu:24.04:LTS linux-gcp-6.11 0 No fix
Ubuntu:24.04:LTS linux-hwe-6.11 0 No fix
Ubuntu:24.04:LTS linux-lowlatency-hwe-6.11 0 No fix
Ubuntu:24.04:LTS linux-raspi-realtime 0 No fix
Ubuntu:24.04:LTS linux-realtime 0 No fix
Ubuntu:24.04:LTS linux-riscv 0 No fix
Ubuntu:Pro:14.04:LTS linux-lts-vivid 0 No fix
Ubuntu:Pro:16.04:LTS linux-euclid 0 No fix
Ubuntu:Pro:16.04:LTS linux-flo 0 No fix
Ubuntu:Pro:16.04:LTS linux-goldfish 0 No fix

Related vulnerabilities