====================================================================                   Red Hat Security Advisory

Synopsis:          Moderate: libvirt security and bug fix update
Advisory ID:       RHSA-2011:1197-01
Product:           Red Hat Enterprise Linux
Advisory URL:      https://access.redhat.com/errata/RHSA-2011:1197.html
Issue date:        2011-08-23
CVE Names:         CVE-2011-2511 
====================================================================
1. Summary:

Updated libvirt packages that fix one security issue and several bugs are
now available for Red Hat Enterprise Linux 6.

The Red Hat Security Response Team has rated this update as having moderate
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.

2. Relevant releases/architectures:

Red Hat Enterprise Linux Desktop (v. 6) - i386, x86_64
Red Hat Enterprise Linux Desktop Optional (v. 6) - i386, x86_64
Red Hat Enterprise Linux HPC Node (v. 6) - x86_64
Red Hat Enterprise Linux HPC Node Optional (v. 6) - x86_64
Red Hat Enterprise Linux Server (v. 6) - i386, ppc64, s390x, x86_64
Red Hat Enterprise Linux Workstation (v. 6) - i386, x86_64

3. Description:

The libvirt library is a C API for managing and interacting with the
virtualization capabilities of Linux and other operating systems. In
addition, libvirt provides tools for remotely managing virtualized systems.

An integer overflow flaw was found in libvirtd's RPC call handling. An
attacker able to establish read-only connections to libvirtd could trigger
this flaw by calling virDomainGetVcpus() with specially-crafted parameters,
causing libvirtd to crash. (CVE-2011-2511)

This update also fixes the following bugs:

* Previously, when the "virsh vol-create-from" command was run on an LVM
(Logical Volume Manager) storage pool, performance of the command was very
low and the operation consumed an excessive amount of time. This bug has
been fixed in the virStorageVolCreateXMLFrom() function, and the
performance problem of the command no longer occurs.

* Due to a regression, libvirt used undocumented command line options,
instead of the recommended ones. Consequently, the qemu-img utility used an
invalid argument while creating an encrypted volume, and the process
eventually failed. With this update, the bug in the backing format of the
storage back end has been fixed, and encrypted volumes can now be created
as expected. (BZ#726617)

* Due to a bug in the qemuAuditDisk() function, hot unplug failures were
never audited, and a hot unplug success was audited as a failure. This bug
has been fixed, and auditing of disk hot unplug operations now works as
expected. (BZ#728516)

* Previously, when a debug process was being activated, the act of
preparing a debug message ended up with dereferencing a UUID (universally
unique identifier) prior to the NULL argument check. Consequently, an API
running the debug process sometimes terminated with a segmentation fault.
With this update, a patch has been provided to address this issue, and the
crashes no longer occur in the described scenario. (BZ#728546)

* The libvirt library uses the "boot=on" option to mark which disk is
bootable but it only uses that option if Qemu advertises its support. The
qemu-kvm utility in Red Hat Enterprise Linux 6.1 removed support for that
option and libvirt could not use it. As a consequence, when an IDE disk was
added as the second storage with a virtio disk being set up as the first
one by default, the operating system tried to boot from the IDE disk rather
than the virtio disk and either failed to boot with the "No bootable disk"
error message returned, or the system booted whatever operating system was
on the IDE disk. With this update, the boot configuration is translated
into bootindex, which provides control over which device is used for
booting a guest operating system, thus fixing this bug.

All users of libvirt are advised to upgrade to these updated packages,
which contain backported patches to correct these issues. After installing
the updated packages, libvirtd must be restarted ("service libvirtd
restart") for this update to 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
https://access.redhat.com/kb/docs/DOC-11259

5. Bugs fixed (http://bugzilla.redhat.com/):

717199 - CVE-2011-2511 libvirt: integer overflow in VirDomainGetVcpus
726617 - libvirt regression with creating encrypted volume
728516 - Auditing of QEMU driver disk hotunplug events logs is missing and/or incorrect
728546 - [libvirt] [logs] null dereference while preparing libvirt logs

6. Package List:

Red Hat Enterprise Linux Desktop (v. 6):

Source:

i386:
libvirt-0.8.7-18.el6_1.1.i686.rpm
libvirt-client-0.8.7-18.el6_1.1.i686.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm
libvirt-python-0.8.7-18.el6_1.1.i686.rpm

x86_64:
libvirt-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-client-0.8.7-18.el6_1.1.i686.rpm
libvirt-client-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-python-0.8.7-18.el6_1.1.x86_64.rpm

Red Hat Enterprise Linux Desktop Optional (v. 6):

Source:

i386:
libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm
libvirt-devel-0.8.7-18.el6_1.1.i686.rpm

x86_64:
libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-devel-0.8.7-18.el6_1.1.i686.rpm
libvirt-devel-0.8.7-18.el6_1.1.x86_64.rpm

Red Hat Enterprise Linux HPC Node (v. 6):

Source:

x86_64:
libvirt-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-client-0.8.7-18.el6_1.1.i686.rpm
libvirt-client-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-python-0.8.7-18.el6_1.1.x86_64.rpm

Red Hat Enterprise Linux HPC Node Optional (v. 6):

Source:

x86_64:
libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-devel-0.8.7-18.el6_1.1.i686.rpm
libvirt-devel-0.8.7-18.el6_1.1.x86_64.rpm

Red Hat Enterprise Linux Server (v. 6):

Source:

i386:
libvirt-0.8.7-18.el6_1.1.i686.rpm
libvirt-client-0.8.7-18.el6_1.1.i686.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm
libvirt-devel-0.8.7-18.el6_1.1.i686.rpm
libvirt-python-0.8.7-18.el6_1.1.i686.rpm

ppc64:
libvirt-0.8.7-18.el6_1.1.ppc64.rpm
libvirt-client-0.8.7-18.el6_1.1.ppc.rpm
libvirt-client-0.8.7-18.el6_1.1.ppc64.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.ppc.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.ppc64.rpm
libvirt-devel-0.8.7-18.el6_1.1.ppc.rpm
libvirt-devel-0.8.7-18.el6_1.1.ppc64.rpm
libvirt-python-0.8.7-18.el6_1.1.ppc64.rpm

s390x:
libvirt-0.8.7-18.el6_1.1.s390x.rpm
libvirt-client-0.8.7-18.el6_1.1.s390.rpm
libvirt-client-0.8.7-18.el6_1.1.s390x.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.s390.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.s390x.rpm
libvirt-devel-0.8.7-18.el6_1.1.s390.rpm
libvirt-devel-0.8.7-18.el6_1.1.s390x.rpm
libvirt-python-0.8.7-18.el6_1.1.s390x.rpm

x86_64:
libvirt-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-client-0.8.7-18.el6_1.1.i686.rpm
libvirt-client-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-devel-0.8.7-18.el6_1.1.i686.rpm
libvirt-devel-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-python-0.8.7-18.el6_1.1.x86_64.rpm

Red Hat Enterprise Linux Workstation (v. 6):

Source:

i386:
libvirt-0.8.7-18.el6_1.1.i686.rpm
libvirt-client-0.8.7-18.el6_1.1.i686.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm
libvirt-devel-0.8.7-18.el6_1.1.i686.rpm
libvirt-python-0.8.7-18.el6_1.1.i686.rpm

x86_64:
libvirt-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-client-0.8.7-18.el6_1.1.i686.rpm
libvirt-client-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-devel-0.8.7-18.el6_1.1.i686.rpm
libvirt-devel-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-python-0.8.7-18.el6_1.1.x86_64.rpm

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

7. References:

https://www.redhat.com/security/data/cve/CVE-2011-2511.html
https://access.redhat.com/security/updates/classification/#moderate

8. Contact:

The Red Hat security contact is .  More contact
details at https://access.redhat.com/security/team/contact/

Copyright 2011 Red Hat, Inc.

Red Hat: 2011:1197-01: libvirt: Moderate Advisory

Updated libvirt packages that fix one security issue and several bugs are now available for Red Hat Enterprise Linux 6

Summary

The libvirt library is a C API for managing and interacting with the virtualization capabilities of Linux and other operating systems. In addition, libvirt provides tools for remotely managing virtualized systems.
An integer overflow flaw was found in libvirtd's RPC call handling. An attacker able to establish read-only connections to libvirtd could trigger this flaw by calling virDomainGetVcpus() with specially-crafted parameters, causing libvirtd to crash. (CVE-2011-2511)
This update also fixes the following bugs:
* Previously, when the "virsh vol-create-from" command was run on an LVM (Logical Volume Manager) storage pool, performance of the command was very low and the operation consumed an excessive amount of time. This bug has been fixed in the virStorageVolCreateXMLFrom() function, and the performance problem of the command no longer occurs.
* Due to a regression, libvirt used undocumented command line options, instead of the recommended ones. Consequently, the qemu-img utility used an invalid argument while creating an encrypted volume, and the process eventually failed. With this update, the bug in the backing format of the storage back end has been fixed, and encrypted volumes can now be created as expected. (BZ#726617)
* Due to a bug in the qemuAuditDisk() function, hot unplug failures were never audited, and a hot unplug success was audited as a failure. This bug has been fixed, and auditing of disk hot unplug operations now works as expected. (BZ#728516)
* Previously, when a debug process was being activated, the act of preparing a debug message ended up with dereferencing a UUID (universally unique identifier) prior to the NULL argument check. Consequently, an API running the debug process sometimes terminated with a segmentation fault. With this update, a patch has been provided to address this issue, and the crashes no longer occur in the described scenario. (BZ#728546)
* The libvirt library uses the "boot=on" option to mark which disk is bootable but it only uses that option if Qemu advertises its support. The qemu-kvm utility in Red Hat Enterprise Linux 6.1 removed support for that option and libvirt could not use it. As a consequence, when an IDE disk was added as the second storage with a virtio disk being set up as the first one by default, the operating system tried to boot from the IDE disk rather than the virtio disk and either failed to boot with the "No bootable disk" error message returned, or the system booted whatever operating system was on the IDE disk. With this update, the boot configuration is translated into bootindex, which provides control over which device is used for booting a guest operating system, thus fixing this bug.
All users of libvirt are advised to upgrade to these updated packages, which contain backported patches to correct these issues. After installing the updated packages, libvirtd must be restarted ("service libvirtd restart") for this update to take effect.



Summary


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 https://access.redhat.com/kb/docs/DOC-11259

References

https://www.redhat.com/security/data/cve/CVE-2011-2511.html https://access.redhat.com/security/updates/classification/#moderate

Package List

Red Hat Enterprise Linux Desktop (v. 6):
Source:
i386: libvirt-0.8.7-18.el6_1.1.i686.rpm libvirt-client-0.8.7-18.el6_1.1.i686.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm libvirt-python-0.8.7-18.el6_1.1.i686.rpm
x86_64: libvirt-0.8.7-18.el6_1.1.x86_64.rpm libvirt-client-0.8.7-18.el6_1.1.i686.rpm libvirt-client-0.8.7-18.el6_1.1.x86_64.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.x86_64.rpm libvirt-python-0.8.7-18.el6_1.1.x86_64.rpm
Red Hat Enterprise Linux Desktop Optional (v. 6):
Source:
i386: libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm libvirt-devel-0.8.7-18.el6_1.1.i686.rpm
x86_64: libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.x86_64.rpm libvirt-devel-0.8.7-18.el6_1.1.i686.rpm libvirt-devel-0.8.7-18.el6_1.1.x86_64.rpm
Red Hat Enterprise Linux HPC Node (v. 6):
Source:
x86_64: libvirt-0.8.7-18.el6_1.1.x86_64.rpm libvirt-client-0.8.7-18.el6_1.1.i686.rpm libvirt-client-0.8.7-18.el6_1.1.x86_64.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.x86_64.rpm libvirt-python-0.8.7-18.el6_1.1.x86_64.rpm
Red Hat Enterprise Linux HPC Node Optional (v. 6):
Source:
x86_64: libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.x86_64.rpm libvirt-devel-0.8.7-18.el6_1.1.i686.rpm libvirt-devel-0.8.7-18.el6_1.1.x86_64.rpm
Red Hat Enterprise Linux Server (v. 6):
Source:
i386: libvirt-0.8.7-18.el6_1.1.i686.rpm libvirt-client-0.8.7-18.el6_1.1.i686.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm libvirt-devel-0.8.7-18.el6_1.1.i686.rpm libvirt-python-0.8.7-18.el6_1.1.i686.rpm
ppc64: libvirt-0.8.7-18.el6_1.1.ppc64.rpm libvirt-client-0.8.7-18.el6_1.1.ppc.rpm libvirt-client-0.8.7-18.el6_1.1.ppc64.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.ppc.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.ppc64.rpm libvirt-devel-0.8.7-18.el6_1.1.ppc.rpm libvirt-devel-0.8.7-18.el6_1.1.ppc64.rpm libvirt-python-0.8.7-18.el6_1.1.ppc64.rpm
s390x: libvirt-0.8.7-18.el6_1.1.s390x.rpm libvirt-client-0.8.7-18.el6_1.1.s390.rpm libvirt-client-0.8.7-18.el6_1.1.s390x.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.s390.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.s390x.rpm libvirt-devel-0.8.7-18.el6_1.1.s390.rpm libvirt-devel-0.8.7-18.el6_1.1.s390x.rpm libvirt-python-0.8.7-18.el6_1.1.s390x.rpm
x86_64: libvirt-0.8.7-18.el6_1.1.x86_64.rpm libvirt-client-0.8.7-18.el6_1.1.i686.rpm libvirt-client-0.8.7-18.el6_1.1.x86_64.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.x86_64.rpm libvirt-devel-0.8.7-18.el6_1.1.i686.rpm libvirt-devel-0.8.7-18.el6_1.1.x86_64.rpm libvirt-python-0.8.7-18.el6_1.1.x86_64.rpm
Red Hat Enterprise Linux Workstation (v. 6):
Source:
i386: libvirt-0.8.7-18.el6_1.1.i686.rpm libvirt-client-0.8.7-18.el6_1.1.i686.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm libvirt-devel-0.8.7-18.el6_1.1.i686.rpm libvirt-python-0.8.7-18.el6_1.1.i686.rpm
x86_64: libvirt-0.8.7-18.el6_1.1.x86_64.rpm libvirt-client-0.8.7-18.el6_1.1.i686.rpm libvirt-client-0.8.7-18.el6_1.1.x86_64.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm libvirt-debuginfo-0.8.7-18.el6_1.1.x86_64.rpm libvirt-devel-0.8.7-18.el6_1.1.i686.rpm libvirt-devel-0.8.7-18.el6_1.1.x86_64.rpm libvirt-python-0.8.7-18.el6_1.1.x86_64.rpm
These packages are GPG signed by Red Hat for security. Our key and details on how to verify the signature are available from https://access.redhat.com/security/team/key/#package


Severity
Advisory ID: RHSA-2011:1197-01
Product: Red Hat Enterprise Linux
Advisory URL: https://access.redhat.com/errata/RHSA-2011:1197.html
Issued Date: : 2011-08-23
CVE Names: CVE-2011-2511

Topic

Updated libvirt packages that fix one security issue and several bugs arenow available for Red Hat Enterprise Linux 6.The Red Hat Security Response Team has rated this update as having moderatesecurity impact. A Common Vulnerability Scoring System (CVSS) base score,which gives a detailed severity rating, is available from the CVE link inthe References section.


Topic


 

Relevant Releases Architectures

Red Hat Enterprise Linux Desktop (v. 6) - i386, x86_64

Red Hat Enterprise Linux Desktop Optional (v. 6) - i386, x86_64

Red Hat Enterprise Linux HPC Node (v. 6) - x86_64

Red Hat Enterprise Linux HPC Node Optional (v. 6) - x86_64

Red Hat Enterprise Linux Server (v. 6) - i386, ppc64, s390x, x86_64

Red Hat Enterprise Linux Workstation (v. 6) - i386, x86_64


Bugs Fixed

717199 - CVE-2011-2511 libvirt: integer overflow in VirDomainGetVcpus

726617 - libvirt regression with creating encrypted volume

728516 - Auditing of QEMU driver disk hotunplug events logs is missing and/or incorrect

728546 - [libvirt] [logs] null dereference while preparing libvirt logs


Related News