Your submission was sent successfully! Close

CVE-2019-3887

Published: 9 April 2019

A flaw was found in the way KVM hypervisor handled x2APIC Machine Specific Rregister (MSR) access with nested(=1) virtualization enabled. In that, L1 guest could access L0's APIC register values via L2 guest, when 'virtualize x2APIC mode' is enabled. A guest could use this flaw to potentially crash the host kernel resulting in DoS issue. Kernel versions from 4.16 and newer are vulnerable to this issue.

From the Ubuntu security team

Marc Orr discovered that the KVM hypervisor implementation in the Linux kernel did not properly restrict APIC MSR register values when nested virtualization is used. An attacker in a guest vm could use this to cause a denial of service (host OS crash).

Mitigation

If qemu is installed, to prevent nested virtualization from being enabled,
set "options kvm_intel nested=0" in /etc/modprobe.d/qemu-system-x86.conf
Priority

Medium

CVSS 3 base score: 5.6

Status

Package Release Status
linux
Launchpad, Ubuntu, Debian
bionic Not vulnerable
(4.13.0-16.19)
cosmic
Released (4.18.0-20.21)
disco
Released (5.0.0-15.16)
precise Not vulnerable
(3.0.0-12.20)
trusty Not vulnerable
(3.11.0-12.19)
upstream
Released (5.1~rc4)
xenial Not vulnerable
(4.2.0-16.19)
linux-aws
Launchpad, Ubuntu, Debian
bionic Not vulnerable
(4.15.0-1001.1)
cosmic
Released (4.18.0-1016.18)
disco
Released (5.0.0-1006.6)
precise Does not exist

trusty Not vulnerable
(4.4.0-1002.2)
upstream
Released (5.1~rc4)
xenial Not vulnerable
(4.4.0-1001.10)
linux-aws-hwe
Launchpad, Ubuntu, Debian
bionic Does not exist

cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist

upstream
Released (5.1~rc4)
xenial Not vulnerable
(4.15.0-1030.31~16.04.1)
linux-azure
Launchpad, Ubuntu, Debian
bionic
Released (4.18.0-1018.18~18.04.1)
cosmic
Released (4.18.0-1018.18)
disco
Released (5.0.0-1006.6)
precise Does not exist

trusty Not vulnerable
(4.15.0-1023.24~14.04.1)
upstream
Released (5.1~rc4)
xenial Not vulnerable
(4.11.0-1009.9)
linux-azure-edge
Launchpad, Ubuntu, Debian
bionic
Released (4.18.0-1018.18~18.04.1)
cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist

upstream
Released (5.1~rc4)
xenial Not vulnerable
(4.11.0-1009.9)
linux-euclid
Launchpad, Ubuntu, Debian
bionic Does not exist

cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist

upstream
Released (5.1~rc4)
xenial Not vulnerable
(4.4.0-9019.20)
linux-flo
Launchpad, Ubuntu, Debian
bionic Does not exist

cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist
(trusty was ignored [abandoned])
upstream
Released (5.1~rc4)
xenial Ignored
(abandoned)
linux-gcp
Launchpad, Ubuntu, Debian
bionic Not vulnerable
(4.15.0-1001.1)
cosmic
Released (4.18.0-1011.12)
disco
Released (5.0.0-1006.6)
precise Does not exist

trusty Does not exist

upstream
Released (5.1~rc4)
xenial Not vulnerable
(4.10.0-1004.4)
linux-gcp-edge
Launchpad, Ubuntu, Debian
bionic
Released (4.18.0-1011.12~18.04.1)
cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist

upstream
Released (5.1~rc4)
xenial Does not exist

linux-gke
Launchpad, Ubuntu, Debian
bionic Not vulnerable

cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist

upstream
Released (5.1~rc4)
xenial Ignored
(end-of-life)
linux-goldfish
Launchpad, Ubuntu, Debian
bionic Does not exist

cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist
(trusty was ignored [abandoned])
upstream
Released (5.1~rc4)
xenial Ignored
(end-of-life)
linux-grouper
Launchpad, Ubuntu, Debian
bionic Does not exist

cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist
(trusty was ignored [abandoned])
upstream
Released (5.1~rc4)
xenial Does not exist

linux-hwe
Launchpad, Ubuntu, Debian
bionic
Released (4.18.0-20.21~18.04.1)
cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist

upstream
Released (5.1~rc4)
xenial Not vulnerable
(4.8.0-36.36~16.04.1)
linux-hwe-edge
Launchpad, Ubuntu, Debian
bionic Not vulnerable
(5.0.0-15.16~18.04.1)
cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist

upstream
Released (5.1~rc4)
xenial Not vulnerable
(4.8.0-36.36~16.04.1)
linux-kvm
Launchpad, Ubuntu, Debian
bionic Not vulnerable
(4.15.0-1002.2)
cosmic
Released (4.18.0-1012.12)
disco
Released (5.0.0-1006.6)
precise Does not exist

trusty Does not exist

upstream
Released (5.1~rc4)
xenial Not vulnerable
(4.4.0-1004.9)
linux-lts-trusty
Launchpad, Ubuntu, Debian
bionic Does not exist

cosmic Does not exist

disco Does not exist

precise Not vulnerable
(3.13.0-24.46~precise1)
trusty Does not exist

upstream
Released (5.1~rc4)
xenial Does not exist

linux-lts-utopic
Launchpad, Ubuntu, Debian
bionic Does not exist

cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist
(trusty was ignored [end-of-life])
upstream
Released (5.1~rc4)
xenial Does not exist

linux-lts-vivid
Launchpad, Ubuntu, Debian
bionic Does not exist

cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist
(trusty was ignored [end-of-life])
upstream
Released (5.1~rc4)
xenial Does not exist

linux-lts-wily
Launchpad, Ubuntu, Debian
bionic Does not exist

cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist
(trusty was ignored [end-of-life])
upstream
Released (5.1~rc4)
xenial Does not exist

linux-lts-xenial
Launchpad, Ubuntu, Debian
bionic Does not exist

cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Not vulnerable
(4.4.0-13.29~14.04.1)
upstream
Released (5.1~rc4)
xenial Does not exist

linux-maguro
Launchpad, Ubuntu, Debian
bionic Does not exist

cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist
(trusty was ignored [abandoned])
upstream
Released (5.1~rc4)
xenial Does not exist

linux-mako
Launchpad, Ubuntu, Debian
bionic Does not exist

cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist
(trusty was ignored [abandoned])
upstream
Released (5.1~rc4)
xenial Ignored
(abandoned)
linux-manta
Launchpad, Ubuntu, Debian
bionic Does not exist

cosmic Does not exist

disco Does not exist

precise Does not exist

trusty Does not exist
(trusty was ignored [abandoned])
upstream
Released (5.1~rc4)
xenial Does not exist

linux-oem
Launchpad, Ubuntu, Debian
bionic Not vulnerable
(4.15.0-1002.3)
cosmic Not vulnerable
(4.15.0-1004.5)
disco Not vulnerable
(4.15.0-1021.24)
precise Does not exist

trusty Does not exist

upstream
Released (5.1~rc4)
xenial Ignored
(was needs-triage now end-of-life)
linux-oracle
Launchpad, Ubuntu, Debian
bionic Not vulnerable
(4.15.0-1007.9)
cosmic Not vulnerable
(4.15.0-1007.9)
disco Not vulnerable
(4.15.0-1007.9)
precise Does not exist

trusty Does not exist

upstream
Released (5.1~rc4)
xenial Not vulnerable
(4.15.0-1007.9~16.04.1)
linux-raspi2
Launchpad, Ubuntu, Debian
bionic Not vulnerable
(4.13.0-1005.5)
cosmic
Released (4.18.0-1014.16)
disco
Released (5.0.0-1008.8)
precise Does not exist

trusty Does not exist

upstream
Released (5.1~rc4)
xenial Not vulnerable
(4.2.0-1013.19)
linux-snapdragon
Launchpad, Ubuntu, Debian
bionic Not vulnerable
(4.4.0-1077.82)
cosmic Does not exist

disco
Released (5.0.0-1012.12)
precise Does not exist

trusty Does not exist

upstream
Released (5.1~rc4)
xenial Not vulnerable
(4.4.0-1012.12)

Notes

AuthorNote
tyhicks
Ubuntu kernels do not enable nested KVM virtualization by default and
are unaffected by this flaw in the default configuration. However, installing
QEMU results in nested KVM support to be enabled via the
/etc/modprobe.d/qemu-system-x86.conf file. To ensure that nested
virtualization is not enabled, verify that the
/sys/module/kvm_intel/parameters/nested file contains "N".

References

Bugs