Executive Summary

Summary
Title kvm security and bug fix update
Informations
Name RHSA-2010:0088 First vendor Publication 2010-02-09
Vendor RedHat Last vendor Modification 2010-02-09
Severity (Vendor) Important Revision 02

Security-Database Scoring CVSS v3

Cvss vector : N/A
Overall CVSS Score NA
Base Score NA Environmental Score NA
impact SubScore NA Temporal Score NA
Exploitabality Sub Score NA
 
Calculate full CVSS 3.0 Vectors scores

Security-Database Scoring CVSS v2

Cvss vector : (AV:L/AC:L/Au:N/C:C/I:C/A:C)
Cvss Base Score 7.2 Attack Range Local
Cvss Impact Score 10 Attack Complexity Low
Cvss Expoit Score 3.9 Authentication None Required
Calculate full CVSS 2.0 Vectors scores

Detail

Problem Description:

Updated kvm packages that fix multiple security issues 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

3. Description:

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 x86 emulator implementation was missing a check for the Current Privilege Level (CPL) and I/O Privilege Level (IOPL). A user in a guest could leverage these flaws to cause a denial of service (guest crash) or possibly escalate their privileges within that guest. (CVE-2010-0298, CVE-2010-0306)

A flaw was found in the Programmable Interval Timer (PIT) emulation. Access to the internal data structure pit_state, which represents the data state of the emulated PIT, was not properly validated in the pit_ioport_read() function. A privileged guest user could use this flaw to crash the host. (CVE-2010-0309)

A flaw was found in the USB passthrough handling code. A specially-crafted USB packet sent from inside a guest could be used to trigger a buffer overflow in the usb_host_handle_control() function, which runs under the QEMU-KVM context on the host. A user in a guest could leverage this flaw to cause a denial of service (guest hang or crash) or possibly escalate their privileges within the host. (CVE-2010-0297)

This update also fixes the following bugs:

* pvclock MSR values were not preserved during remote migration, causing time drift for guests. (BZ#537028)

* SMBIOS table 4 data is now generated for Windows guests. (BZ#545874)

* if the qemu-kvm "-net user" option was used, unattended Windows XP installations did not receive an IP address after reboot. (BZ#546562)

* when being restored from migration, a race condition caused Windows Server 2008 R2 guests to hang during shutdown. (BZ#546563)

* the kernel symbol checking on the kvm-kmod build process has a safety check for ABI changes. (BZ#547293)

* on hosts without high-res timers, Windows Server 2003 guests experienced significant time drift. (BZ#547625)

* in some situations, installing Windows Server 2008 R2 from an ISO image resulted in a blue screen "BAD_POOL_HEADER" stop error. (BZ#548368)

* a bug in the grow_refcount_table() error handling caused infinite recursion in some cases. This caused the qemu-kvm process to hang and eventually crash. (BZ#552159)

* for Windows Server 2003 R2, Service Pack 2, 32-bit guests, an "unhandled vm exit" error could occur during reboot on some systems. (BZ#552518)

* for Windows guests, QEMU could attempt to stop a stopped audio device, resulting in a "snd_playback_stop: ASSERT playback_channel->base.active failed" error. (BZ#552519)

* the Hypercall driver did not reset the device on power-down. (BZ#552528)

* mechanisms have been added to make older savevm versions to be emitted in some cases. (BZ#552529)

* an error in the Makefile prevented users from using the source RPM to install KVM. (BZ#552530)

* guests became unresponsive and could use up to 100% CPU when running certain benchmark tests with more than 7 guests running simultaneously. (BZ#553249)

* QEMU could terminate randomly with virtio-net and SMP enabled. (BZ#561022)

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 will take effect.

4. Solution:

Before applying this update, make sure all previously-released errata relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to use the Red Hat Network to apply this update are available at http://kbase.redhat.com/faq/docs/DOC-11259

The following procedure must be performed before this update will take 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/):

537028 - pvclock msr values are not preserved across remote migration 545874 - Need to generate SMBIOS table 4 data for windows guests 546562 - Windows XP unattended install doesn't get an IP address after rebooting, if using -net user 546563 - Windows Server 2008 R2 shutdown hangs after restore from migration 547293 - kvm kmod package should filter only some specific ksym dependencies 547625 - time drift in win2k364 KVM guest 548368 - BSOD BAD_POOL_HEADER STOP 0x19 during boot of Windows Server 2008 R2 installer 552159 - qcow2: infinite recursion on grow_refcount_table() error handling 552518 - Rhev-Block driver causes 'unhandled vm exit' with 32bit win2k3r2sp2 Guest VM on restart 552519 - KVM : QEMU-Audio attempting to stop unactivated audio device (snd_playback_stop: ASSERT playback_channel->base.active failed). 552528 - Hypercall driver doesn't reset device on power-down 552529 - kvm: migration: mechanism to make older savevm versions to be emitted on some cases 552530 - Build tree for RHEL 5.X and RHEL 5.4.z contains build bugs 553249 - hypercall device - Vm becomes non responsive on Sysmark benchmark (when more than 7 vm's running simultaneously) 557025 - CVE-2010-0297 kvm-userspace-rhel5: usb-linux.c: fix buffer overflow 559091 - CVE-2010-0298 kvm: emulator privilege escalation 560654 - CVE-2010-0306 kvm: emulator privilege escalation IOPL/CPL level check 560887 - CVE-2010-0309 kvm: cat /dev/port in guest cause the host hang 561022 - QEMU terminates without warning with virtio-net and SMP enabled

Original Source

Url : https://rhn.redhat.com/errata/RHSA-2010-0088.html

CWE : Common Weakness Enumeration

% Id Name
50 % CWE-264 Permissions, Privileges, and Access Controls
25 % CWE-119 Failure to Constrain Operations within the Bounds of a Memory Buffer
25 % CWE-16 Configuration

OVAL Definitions

Definition Id: oval:org.mitre.oval:def:10953
 
Oval ID: oval:org.mitre.oval:def:10953
Title: The x86 emulator in KVM 83, when a guest is configured for Symmetric Multiprocessing (SMP), does not use the Current Privilege Level (CPL) and I/O Privilege Level (IOPL) to restrict instruction execution, which allows guest OS users to cause a denial of service (guest OS crash) or gain privileges on the guest OS by leveraging access to a (1) IO port or (2) MMIO region, and replacing an instruction in between emulator entry and instruction fetch, a related issue to CVE-2010-0298.
Description: The x86 emulator in KVM 83, when a guest is configured for Symmetric Multiprocessing (SMP), does not use the Current Privilege Level (CPL) and I/O Privilege Level (IOPL) to restrict instruction execution, which allows guest OS users to cause a denial of service (guest OS crash) or gain privileges on the guest OS by leveraging access to a (1) IO port or (2) MMIO region, and replacing an instruction in between emulator entry and instruction fetch, a related issue to CVE-2010-0298.
Family: unix Class: vulnerability
Reference(s): CVE-2010-0306
Version: 5
Platform(s): Red Hat Enterprise Linux 5
CentOS Linux 5
Oracle Linux 5
Product(s):
Definition Synopsis:
Definition Id: oval:org.mitre.oval:def:11095
 
Oval ID: oval:org.mitre.oval:def:11095
Title: The pit_ioport_read function in the Programmable Interval Timer (PIT) emulation in i8254.c in KVM 83 does not properly use the pit_state data structure, which allows guest OS users to cause a denial of service (host OS crash or hang) by attempting to read the /dev/port file.
Description: The pit_ioport_read function in the Programmable Interval Timer (PIT) emulation in i8254.c in KVM 83 does not properly use the pit_state data structure, which allows guest OS users to cause a denial of service (host OS crash or hang) by attempting to read the /dev/port file.
Family: unix Class: vulnerability
Reference(s): CVE-2010-0309
Version: 5
Platform(s): Red Hat Enterprise Linux 5
CentOS Linux 5
Oracle Linux 5
Product(s):
Definition Synopsis:
Definition Id: oval:org.mitre.oval:def:11335
 
Oval ID: oval:org.mitre.oval:def:11335
Title: The x86 emulator in KVM 83 does not use the Current Privilege Level (CPL) and I/O Privilege Level (IOPL) in determining the memory access available to CPL3 code, which allows guest OS users to cause a denial of service (guest OS crash) or gain privileges on the guest OS by leveraging access to a (1) IO port or (2) MMIO region, a related issue to CVE-2010-0306.
Description: The x86 emulator in KVM 83 does not use the Current Privilege Level (CPL) and I/O Privilege Level (IOPL) in determining the memory access available to CPL3 code, which allows guest OS users to cause a denial of service (guest OS crash) or gain privileges on the guest OS by leveraging access to a (1) IO port or (2) MMIO region, a related issue to CVE-2010-0306.
Family: unix Class: vulnerability
Reference(s): CVE-2010-0298
Version: 5
Platform(s): Red Hat Enterprise Linux 5
CentOS Linux 5
Oracle Linux 5
Product(s):
Definition Synopsis:
Definition Id: oval:org.mitre.oval:def:11786
 
Oval ID: oval:org.mitre.oval:def:11786
Title: Buffer overflow in the usb_host_handle_control function in the USB passthrough handling implementation in usb-linux.c in QEMU before 0.11.1 allows guest OS users to cause a denial of service (guest OS crash or hang) or possibly execute arbitrary code on the host OS via a crafted USB packet.
Description: Buffer overflow in the usb_host_handle_control function in the USB passthrough handling implementation in usb-linux.c in QEMU before 0.11.1 allows guest OS users to cause a denial of service (guest OS crash or hang) or possibly execute arbitrary code on the host OS via a crafted USB packet.
Family: unix Class: vulnerability
Reference(s): CVE-2010-0297
Version: 5
Platform(s): Red Hat Enterprise Linux 5
CentOS Linux 5
Oracle Linux 5
Product(s):
Definition Synopsis:
Definition Id: oval:org.mitre.oval:def:22169
 
Oval ID: oval:org.mitre.oval:def:22169
Title: RHSA-2010:0088: kvm security and bug fix update (Important)
Description: The pit_ioport_read function in the Programmable Interval Timer (PIT) emulation in i8254.c in KVM 83 does not properly use the pit_state data structure, which allows guest OS users to cause a denial of service (host OS crash or hang) by attempting to read the /dev/port file.
Family: unix Class: patch
Reference(s): RHSA-2010:0088-02
CESA-2010:0088
CVE-2010-0297
CVE-2010-0298
CVE-2010-0306
CVE-2010-0309
Version: 55
Platform(s): Red Hat Enterprise Linux 5
CentOS Linux 5
Product(s): kvm
Definition Synopsis:
Definition Id: oval:org.mitre.oval:def:22934
 
Oval ID: oval:org.mitre.oval:def:22934
Title: ELSA-2010:0088: kvm security and bug fix update (Important)
Description: The pit_ioport_read function in the Programmable Interval Timer (PIT) emulation in i8254.c in KVM 83 does not properly use the pit_state data structure, which allows guest OS users to cause a denial of service (host OS crash or hang) by attempting to read the /dev/port file.
Family: unix Class: patch
Reference(s): ELSA-2010:0088-02
CVE-2010-0297
CVE-2010-0298
CVE-2010-0306
CVE-2010-0309
Version: 21
Platform(s): Oracle Linux 5
Product(s): kvm
Definition Synopsis:
Definition Id: oval:org.mitre.oval:def:27907
 
Oval ID: oval:org.mitre.oval:def:27907
Title: DEPRECATED: ELSA-2010-0088 -- kvm security and bug fix update (important)
Description: [kvm-83-105.0.1.el5_4.22] - Add kvm-add-oracle-workaround-for-libvirt-bug.patch
Family: unix Class: patch
Reference(s): ELSA-2010-0088
CVE-2010-0297
CVE-2010-0298
CVE-2010-0306
CVE-2010-0309
Version: 4
Platform(s): Oracle Linux 5
Product(s): kvm
Definition Synopsis:

CPE : Common Platform Enumeration

TypeDescriptionCount
Application 1
Application 1
Application 47
Os 1

OpenVAS Exploits

Date Description
2010-06-07 Name : Ubuntu Update for Linux kernel vulnerabilities USN-947-1
File : nvt/gb_ubuntu_USN_947_1.nasl
2010-06-07 Name : Ubuntu Update for linux regression USN-947-2
File : nvt/gb_ubuntu_USN_947_2.nasl
2010-03-22 Name : Ubuntu Update for Linux kernel vulnerabilities USN-914-1
File : nvt/gb_ubuntu_USN_914_1.nasl

Open Source Vulnerability Database (OSVDB)

Id Description
62347 QEMU usb-linux.c usb_host_handle_control Function Crafted USB Packet Handling...

62215 Linux Kernel KVM x86 Code Emulation Functionality CPL / IOPL Local Privilege ...

62112 Linux Kernel KVM Guest arch/x86/kvm/i8254.c pit_ioport_read() Function Local DoS

Information Assurance Vulnerability Management (IAVM)

Date Description
2010-03-04 IAVM : 2010-A-0037 - Multiple Vulnerabilities in Linux Kernel
Severity : Category I - VMSKEY : V0022704

Nessus® Vulnerability Scanner

Date Description
2013-07-12 Name : The remote Oracle Linux host is missing one or more security updates.
File : oraclelinux_ELSA-2010-0088.nasl - Type : ACT_GATHER_INFO
2013-01-24 Name : The remote Red Hat host is missing one or more security updates.
File : redhat-RHSA-2010-0088.nasl - Type : ACT_GATHER_INFO
2012-08-01 Name : The remote Scientific Linux host is missing one or more security updates.
File : sl_20100209_kvm_on_SL5_4.nasl - Type : ACT_GATHER_INFO
2010-06-04 Name : The remote Ubuntu host is missing one or more security-related patches.
File : ubuntu_USN-947-1.nasl - Type : ACT_GATHER_INFO
2010-06-04 Name : The remote Ubuntu host is missing one or more security-related patches.
File : ubuntu_USN-947-2.nasl - Type : ACT_GATHER_INFO
2010-03-17 Name : The remote Ubuntu host is missing one or more security-related patches.
File : ubuntu_USN-914-1.nasl - Type : ACT_GATHER_INFO
2010-03-11 Name : The remote Debian host is missing a security-related update.
File : debian_DSA-2010.nasl - Type : ACT_GATHER_INFO
2010-02-24 Name : The remote Debian host is missing a security-related update.
File : debian_DSA-1996.nasl - Type : ACT_GATHER_INFO
2010-02-10 Name : The remote CentOS host is missing one or more security updates.
File : centos_RHSA-2010-0088.nasl - Type : ACT_GATHER_INFO

Alert History

If you want to see full details history, please login or register.
0
Date Informations
2014-02-17 11:53:13
  • Multiple Updates