(Red Hat Issues Fix) KVM Missing Privilege Check in kvm_emulate_hypercall() May Let Local Users Gain Elevated Privileges
SecurityTracker Alert ID: 1022957|
SecurityTracker URL: http://securitytracker.com/id/1022957
(Links to External Site)
Date: Sep 29 2009
Denial of service via local system, User access via local system|
Fix Available: Yes Vendor Confirmed: Yes |
A vulnerability was reported in KVM. A local user on the guest operating system can cause denial of service conditions or potentially obtain elevated privileges on the guest operating system.|
The kvm_emulate_hypercall() function does not properly check for the Current Privilege Level (CPL). A local user on the guest operating system can issue MMU hypercalls and pass random addresses to the kernel to cause the guest operating system to crash.
Linux kernel versions 2.6.25-rc1 to prior to 2.6.31 are affected.
A local user on the guest operating system may be able obtain elevated privileges on the target guest operating system.|
A local user on the guest operating system can cause denial of service conditions on the target guest operating system.
Red Hat has released a fix.|
The Red Hat advisory is available at:
Vendor URL: linux-kvm.org/ (Links to External Site)
Access control error|
|Underlying OS: Linux (Red Hat Enterprise)|
|Underlying OS Comments: 5|
This archive entry is a follow-up to the message listed below.|
Source Message Contents
Subject: [RHSA-2009:1465-01] Important: kvm security and bug fix update|
-----BEGIN PGP SIGNED MESSAGE-----
Red Hat Security Advisory
Synopsis: Important: kvm security and bug fix update
Advisory ID: RHSA-2009:1465-01
Product: Red Hat Enterprise Linux
Advisory URL: https://rhn.redhat.com/errata/RHSA-2009-1465.html
Issue date: 2009-09-29
CVE Names: CVE-2009-3290
Updated kvm packages that fix one security issue and several bugs are now
available for Red Hat Enterprise Linux 5.
This update has been rated as having important security impact by the Red
Hat Security Response Team.
2. Relevant releases/architectures:
RHEL Desktop Multi OS (v. 5 client) - x86_64
RHEL Virtualization (v. 5 server) - x86_64
KVM (Kernel-based Virtual Machine) is a full virtualization solution for
Linux on AMD64 and Intel 64 systems. KVM is a Linux kernel module built for
the standard Red Hat Enterprise Linux kernel.
The kvm_emulate_hypercall() implementation was missing a check for the
Current Privilege Level (CPL). A local, unprivileged user in a virtual
machine could use this flaw to cause a local denial of service or escalate
their privileges within that virtual machine. (CVE-2009-3290)
This update also fixes the following bugs:
* non-maskable interrupts (NMI) were not supported on systems with AMD
processors. As a consequence, Windows Server 2008 R2 guests running with
more than one virtual CPU assigned on systems with AMD processors would
hang at the Windows shut down screen when a restart was attempted. This
update adds support for NMI filtering on systems with AMD processors,
allowing clean restarts of Windows Server 2008 R2 guests running with
multiple virtual CPUs. (BZ#520694)
* significant performance issues for guests running 64-bit editions of
Windows. This update improves performance for guests running 64-bit
editions of Windows. (BZ#521793)
* Windows guests may have experienced time drift. (BZ#521794)
* removing the Red Hat VirtIO Ethernet Adapter from a guest running Windows
Server 2008 R2 caused KVM to crash. With this update, device removal should
not cause this issue. (BZ#524557)
All KVM users should upgrade to these updated packages, which contain
backported patches to resolve these issues. Note: The procedure in the
Solution section must be performed before this update takes effect.
Before applying this update, make sure that all previously-released
errata relevant to your system have been applied.
This update is available via Red Hat Network. Details on how to use
the Red Hat Network to apply this update are available at
The following procedure must be performed before this update takes effect:
1. Stop all KVM guest virtual machines.
2. Either reboot the hypervisor machine or, as the root user, remove (using
"modprobe -r [module]") and reload (using "modprobe [module]") all of the
following modules which are currently running (determined using "lsmod"):
kvm, ksm, kvm-intel or kvm-amd.
3. Restart the KVM guest virtual machines.
5. Bugs fixed (http://bugzilla.redhat.com/):
520694 - NMI filtering for AMD (Windows 2008 R2 KVM guest can not restart when set it as multiple cpus)
521793 - windows 64 bit does vmexit on each cr8 access.
521794 - rtc-td-hack stopped working. Time drifts in windows
524124 - CVE-2009-3290 kernel: KVM: x86: Disallow hypercalls for guest callers in rings > 0
524557 - QEMU crash (during virtio-net WHQL tests for Win2008 R2)
6. Package List:
RHEL Desktop Multi OS (v. 5 client):
RHEL Virtualization (v. 5 server):
These packages are GPG signed by Red Hat for security. Our key and
details on how to verify the signature are available from
The Red Hat security contact is <firstname.lastname@example.org>. More contact
details at https://www.redhat.com/security/team/contact/
Copyright 2009 Red Hat, Inc.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.4 (GNU/Linux)
-----END PGP SIGNATURE-----
Enterprise-watch-list mailing list