Skip to navigation

Security Advisory Low: kvm security and bug fix update

Advisory: RHSA-2010:0998-1
Type: Security Advisory
Severity: Low
Issued on: 2010-12-20
Last updated on: 2010-12-20
Affected Products: RHEL Desktop Multi OS (v. 5 client)
RHEL Virtualization (v. 5 server)
CVEs (cve.mitre.org): CVE-2010-3881

Details

Updated kvm packages that fix one security issue and three bugs are now
available for Red Hat Enterprise Linux 5.

The Red Hat Security Response Team has rated this update as having low
security impact. A Common Vulnerability Scoring System (CVSS) base score,
which gives a detailed severity rating, is available from the CVE link in
the References section.

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.

It was found that some structure padding and reserved fields in certain
data structures in QEMU-KVM were not initialized properly before being
copied to user-space. A privileged host user with access to "/dev/kvm"
could use this flaw to leak kernel stack memory to user-space.
(CVE-2010-3881)

Red Hat would like to thank Vasiliy Kulikov for reporting this issue.

This update also fixes the following bugs:

* The 'kvm_amd' kernel module did not initialize the TSC (Time Stamp
Counter) offset in the VMCB (Virtual Machine Control Block) correctly.
After a vCPU (virtual CPU) has been created, the TSC offset in the VMCB
should have a negative value so that the virtual machine will see TSC
values starting at zero. However, the TSC offset was set to zero and
therefore the virtual machine saw the same TSC value as the host. With this
update, the TSC offset has been updated to show the correct values.
(BZ#656984)

* Setting the boot settings of a virtual machine to, firstly, boot from PXE
and, secondly, to boot from the hard drive would result in a PXE boot loop,
that is, the virtual machine would not continue to boot from the hard drive
if the PXE boot failed. This was caused by a flaw in the 'bochs-bios' (part
of KVM) code. With this update, after a virtual machine tries to boot from
PXE and fails, it continues to boot from a hard drive if there is one
present. (BZ#659850)

* If a 64-bit Red Hat Enterprise Linux 5.5 virtual machine was migrated to
another host with a different CPU clock speed, the clock of that virtual
machine would consistently lose or gain time (approximately half a second
for every second the host is running). On machines that do not use the kvm
clock, the network time protocol daemon (ntpd) could correct the time
drifts caused by migration. However, using the pvclock caused the time to
change consistently. This was due to flaws in the save/load functions of
pvclock. With this update, the issue has been fixed and migrating a virtual
machine no longer causes time drift. (BZ#660239)

All KVM users should upgrade to these updated packages, which contain
backported patches to correct these issues. Note: The procedure in the
Solution section must be performed before this update will take effect.


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.

Updated packages

RHEL Desktop Multi OS (v. 5 client)

SRPMS:
kvm-83-164.el5_5.30.src.rpm
File outdated by:  RHSA-2014:0163
    MD5: f26c551f5db754f4f53b66b1545144f5
SHA-256: fd389b1151deaefb25d5a6c0bc3a1459ea664484cd300dd96e4f0aeabf634803
 
x86_64:
kmod-kvm-83-164.el5_5.30.x86_64.rpm
File outdated by:  RHSA-2014:0163
    MD5: a81f143ae5115119f4017bc6a363962e
SHA-256: fec2abcaa1db52886fe8ac46f613d4cb7d1f089d7907c910cb4f12271222518a
kvm-83-164.el5_5.30.x86_64.rpm
File outdated by:  RHSA-2014:0163
    MD5: 59b080a2d939a68dae06114a252ab592
SHA-256: 774001a57203e73bc12576bdd7185f77c2d6749b0efb0fc25daef9c3ccb7452c
kvm-qemu-img-83-164.el5_5.30.x86_64.rpm
File outdated by:  RHSA-2014:0163
    MD5: 0ed1a9d15005de05fea53ab8c8968b80
SHA-256: 6e03d52d5e9c8ae0c0ba4e017c343bf13b8c6cbeb42e21bc2eca52416569c0bc
kvm-tools-83-164.el5_5.30.x86_64.rpm
File outdated by:  RHSA-2014:0163
    MD5: 731ed9039dfcb02bc5835ce4c6b923f6
SHA-256: 4832a9587737f5f1361e5a9d40d573f0cb06f97fd8422d63015ad6b0459b5f29
 
RHEL Virtualization (v. 5 server)

SRPMS:
kvm-83-164.el5_5.30.src.rpm
File outdated by:  RHSA-2014:0163
    MD5: f26c551f5db754f4f53b66b1545144f5
SHA-256: fd389b1151deaefb25d5a6c0bc3a1459ea664484cd300dd96e4f0aeabf634803
 
x86_64:
kmod-kvm-83-164.el5_5.30.x86_64.rpm
File outdated by:  RHSA-2014:0163
    MD5: a81f143ae5115119f4017bc6a363962e
SHA-256: fec2abcaa1db52886fe8ac46f613d4cb7d1f089d7907c910cb4f12271222518a
kvm-83-164.el5_5.30.x86_64.rpm
File outdated by:  RHSA-2014:0163
    MD5: 59b080a2d939a68dae06114a252ab592
SHA-256: 774001a57203e73bc12576bdd7185f77c2d6749b0efb0fc25daef9c3ccb7452c
kvm-qemu-img-83-164.el5_5.30.x86_64.rpm
File outdated by:  RHSA-2014:0163
    MD5: 0ed1a9d15005de05fea53ab8c8968b80
SHA-256: 6e03d52d5e9c8ae0c0ba4e017c343bf13b8c6cbeb42e21bc2eca52416569c0bc
kvm-tools-83-164.el5_5.30.x86_64.rpm
File outdated by:  RHSA-2014:0163
    MD5: 731ed9039dfcb02bc5835ce4c6b923f6
SHA-256: 4832a9587737f5f1361e5a9d40d573f0cb06f97fd8422d63015ad6b0459b5f29
 
(The unlinked packages above are only available from the Red Hat Network)

Bugs fixed (see bugzilla for more information)

649920 - CVE-2010-3881 kvm: arch/x86/kvm/x86.c: reading uninitialized stack memory
656984 - TSC offset of virtual machines is not initialized correctly by 'kvm_amd' kernel module.
659850 - If VM boot seq. is set up as nc (PXE then disk) the VM is always stuck on trying to PXE boot
660239 - clock drift when migrating a guest between mis-matched CPU clock speed


References



These packages are GPG signed by Red Hat for security. Our key and details on how to verify the signature are available from:
https://www.redhat.com/security/team/key/#package

The Red Hat security contact is secalert@redhat.com. More contact details at http://www.redhat.com/security/team/contact/