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

Synopsis:          Moderate: libvirt security and bug fix update
Advisory ID:       RHSA-2012:1359-01
Product:           Red Hat Enterprise Linux
Advisory URL:      https://access.redhat.com/errata/RHSA-2012:1359.html
Issue date:        2012-10-11
CVE Names:         CVE-2012-4423 
====================================================================
1. Summary:

Updated libvirt packages that fix one security issue and multiple 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 Server Optional (v. 6) - x86_64
Red Hat Enterprise Linux Workstation (v. 6) - i386, x86_64
Red Hat Enterprise Linux Workstation Optional (v. 6) - 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 remote management of virtualized
systems.

A flaw was found in libvirtd's RPC call handling. An attacker able to
establish a read-only connection to libvirtd could use this flaw to crash
libvirtd by sending an RPC message that has an event as the RPC number, or
an RPC number that falls into a gap in the RPC dispatch table.
(CVE-2012-4423)

This issue was discovered by Wenlong Huang of the Red Hat Virtualization QE
Team.

This update also fixes the following bugs:

* When the host_uuid option was present in the libvirtd.conf file, the
augeas libvirt lens was unable to parse the file. This bug has been fixed
and the augeas libvirt lens now parses libvirtd.conf as expected in the
described scenario. (BZ#858988)

* Disk hot plug is a two-part action: the qemuMonitorAddDrive() call is
followed by the qemuMonitorAddDevice() call. When the first part succeeded
but the second one failed, libvirt failed to roll back the first part and
the device remained in use even though the disk hot plug failed. With this
update, the rollback for the drive addition is properly performed in the
described scenario and disk hot plug now works as expected. (BZ#859376)

* When a virtual machine was started with an image chain using block
devices and a block rebase operation was issued, the operation failed on
completion in the blockJobAbort() function. This update relabels and
configures cgroups for the backing files and the rebase operation now
succeeds. (BZ#860720)

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 will be restarted automatically.

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/knowledge/articles/11258

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

857133 - CVE-2012-4423 libvirt: null function pointer invocation in virNetServerProgramDispatchCall()
858988 - The libvirt augeas lens can't parse a libvirtd.conf file where host_uuid is present
859376 - after failed hotplug qemu keeps the file descriptor open
860720 - Relabel and configure cgroups for the backing files on VIR_DOMAIN_BLOCK_JOB_ABORT_PIVOT

6. Package List:

Red Hat Enterprise Linux Desktop (v. 6):

Source:

i386:
libvirt-0.9.10-21.el6_3.5.i686.rpm
libvirt-client-0.9.10-21.el6_3.5.i686.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm
libvirt-python-0.9.10-21.el6_3.5.i686.rpm

x86_64:
libvirt-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-client-0.9.10-21.el6_3.5.i686.rpm
libvirt-client-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-python-0.9.10-21.el6_3.5.x86_64.rpm

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

Source:

i386:
libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm
libvirt-devel-0.9.10-21.el6_3.5.i686.rpm

x86_64:
libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-devel-0.9.10-21.el6_3.5.i686.rpm
libvirt-devel-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-lock-sanlock-0.9.10-21.el6_3.5.x86_64.rpm

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

Source:

x86_64:
libvirt-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-client-0.9.10-21.el6_3.5.i686.rpm
libvirt-client-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-python-0.9.10-21.el6_3.5.x86_64.rpm

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

Source:

x86_64:
libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-devel-0.9.10-21.el6_3.5.i686.rpm
libvirt-devel-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-lock-sanlock-0.9.10-21.el6_3.5.x86_64.rpm

Red Hat Enterprise Linux Server (v. 6):

Source:

i386:
libvirt-0.9.10-21.el6_3.5.i686.rpm
libvirt-client-0.9.10-21.el6_3.5.i686.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm
libvirt-devel-0.9.10-21.el6_3.5.i686.rpm
libvirt-python-0.9.10-21.el6_3.5.i686.rpm

ppc64:
libvirt-0.9.10-21.el6_3.5.ppc64.rpm
libvirt-client-0.9.10-21.el6_3.5.ppc.rpm
libvirt-client-0.9.10-21.el6_3.5.ppc64.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.ppc.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.ppc64.rpm
libvirt-devel-0.9.10-21.el6_3.5.ppc.rpm
libvirt-devel-0.9.10-21.el6_3.5.ppc64.rpm
libvirt-python-0.9.10-21.el6_3.5.ppc64.rpm

s390x:
libvirt-0.9.10-21.el6_3.5.s390x.rpm
libvirt-client-0.9.10-21.el6_3.5.s390.rpm
libvirt-client-0.9.10-21.el6_3.5.s390x.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.s390.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.s390x.rpm
libvirt-devel-0.9.10-21.el6_3.5.s390.rpm
libvirt-devel-0.9.10-21.el6_3.5.s390x.rpm
libvirt-python-0.9.10-21.el6_3.5.s390x.rpm

x86_64:
libvirt-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-client-0.9.10-21.el6_3.5.i686.rpm
libvirt-client-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-devel-0.9.10-21.el6_3.5.i686.rpm
libvirt-devel-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-python-0.9.10-21.el6_3.5.x86_64.rpm

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

Source:

x86_64:
libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-lock-sanlock-0.9.10-21.el6_3.5.x86_64.rpm

Red Hat Enterprise Linux Workstation (v. 6):

Source:

i386:
libvirt-0.9.10-21.el6_3.5.i686.rpm
libvirt-client-0.9.10-21.el6_3.5.i686.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm
libvirt-devel-0.9.10-21.el6_3.5.i686.rpm
libvirt-python-0.9.10-21.el6_3.5.i686.rpm

x86_64:
libvirt-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-client-0.9.10-21.el6_3.5.i686.rpm
libvirt-client-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm
libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-devel-0.9.10-21.el6_3.5.i686.rpm
libvirt-devel-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-python-0.9.10-21.el6_3.5.x86_64.rpm

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

Source:

x86_64:
libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm
libvirt-lock-sanlock-0.9.10-21.el6_3.5.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-2012-4423.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 2012 Red Hat, Inc.

Red Hat: 2012:1359-01: libvirt: Moderate Advisory

Updated libvirt packages that fix one security issue and multiple 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 remote management of virtualized systems.
A flaw was found in libvirtd's RPC call handling. An attacker able to establish a read-only connection to libvirtd could use this flaw to crash libvirtd by sending an RPC message that has an event as the RPC number, or an RPC number that falls into a gap in the RPC dispatch table. (CVE-2012-4423)
This issue was discovered by Wenlong Huang of the Red Hat Virtualization QE Team.
This update also fixes the following bugs:
* When the host_uuid option was present in the libvirtd.conf file, the augeas libvirt lens was unable to parse the file. This bug has been fixed and the augeas libvirt lens now parses libvirtd.conf as expected in the described scenario. (BZ#858988)
* Disk hot plug is a two-part action: the qemuMonitorAddDrive() call is followed by the qemuMonitorAddDevice() call. When the first part succeeded but the second one failed, libvirt failed to roll back the first part and the device remained in use even though the disk hot plug failed. With this update, the rollback for the drive addition is properly performed in the described scenario and disk hot plug now works as expected. (BZ#859376)
* When a virtual machine was started with an image chain using block devices and a block rebase operation was issued, the operation failed on completion in the blockJobAbort() function. This update relabels and configures cgroups for the backing files and the rebase operation now succeeds. (BZ#860720)
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 will be restarted automatically.



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/knowledge/articles/11258

References

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

Package List

Red Hat Enterprise Linux Desktop (v. 6):
Source:
i386: libvirt-0.9.10-21.el6_3.5.i686.rpm libvirt-client-0.9.10-21.el6_3.5.i686.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm libvirt-python-0.9.10-21.el6_3.5.i686.rpm
x86_64: libvirt-0.9.10-21.el6_3.5.x86_64.rpm libvirt-client-0.9.10-21.el6_3.5.i686.rpm libvirt-client-0.9.10-21.el6_3.5.x86_64.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm libvirt-python-0.9.10-21.el6_3.5.x86_64.rpm
Red Hat Enterprise Linux Desktop Optional (v. 6):
Source:
i386: libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm libvirt-devel-0.9.10-21.el6_3.5.i686.rpm
x86_64: libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm libvirt-devel-0.9.10-21.el6_3.5.i686.rpm libvirt-devel-0.9.10-21.el6_3.5.x86_64.rpm libvirt-lock-sanlock-0.9.10-21.el6_3.5.x86_64.rpm
Red Hat Enterprise Linux HPC Node (v. 6):
Source:
x86_64: libvirt-0.9.10-21.el6_3.5.x86_64.rpm libvirt-client-0.9.10-21.el6_3.5.i686.rpm libvirt-client-0.9.10-21.el6_3.5.x86_64.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm libvirt-python-0.9.10-21.el6_3.5.x86_64.rpm
Red Hat Enterprise Linux HPC Node Optional (v. 6):
Source:
x86_64: libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm libvirt-devel-0.9.10-21.el6_3.5.i686.rpm libvirt-devel-0.9.10-21.el6_3.5.x86_64.rpm libvirt-lock-sanlock-0.9.10-21.el6_3.5.x86_64.rpm
Red Hat Enterprise Linux Server (v. 6):
Source:
i386: libvirt-0.9.10-21.el6_3.5.i686.rpm libvirt-client-0.9.10-21.el6_3.5.i686.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm libvirt-devel-0.9.10-21.el6_3.5.i686.rpm libvirt-python-0.9.10-21.el6_3.5.i686.rpm
ppc64: libvirt-0.9.10-21.el6_3.5.ppc64.rpm libvirt-client-0.9.10-21.el6_3.5.ppc.rpm libvirt-client-0.9.10-21.el6_3.5.ppc64.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.ppc.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.ppc64.rpm libvirt-devel-0.9.10-21.el6_3.5.ppc.rpm libvirt-devel-0.9.10-21.el6_3.5.ppc64.rpm libvirt-python-0.9.10-21.el6_3.5.ppc64.rpm
s390x: libvirt-0.9.10-21.el6_3.5.s390x.rpm libvirt-client-0.9.10-21.el6_3.5.s390.rpm libvirt-client-0.9.10-21.el6_3.5.s390x.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.s390.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.s390x.rpm libvirt-devel-0.9.10-21.el6_3.5.s390.rpm libvirt-devel-0.9.10-21.el6_3.5.s390x.rpm libvirt-python-0.9.10-21.el6_3.5.s390x.rpm
x86_64: libvirt-0.9.10-21.el6_3.5.x86_64.rpm libvirt-client-0.9.10-21.el6_3.5.i686.rpm libvirt-client-0.9.10-21.el6_3.5.x86_64.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm libvirt-devel-0.9.10-21.el6_3.5.i686.rpm libvirt-devel-0.9.10-21.el6_3.5.x86_64.rpm libvirt-python-0.9.10-21.el6_3.5.x86_64.rpm
Red Hat Enterprise Linux Server Optional (v. 6):
Source:
x86_64: libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm libvirt-lock-sanlock-0.9.10-21.el6_3.5.x86_64.rpm
Red Hat Enterprise Linux Workstation (v. 6):
Source:
i386: libvirt-0.9.10-21.el6_3.5.i686.rpm libvirt-client-0.9.10-21.el6_3.5.i686.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm libvirt-devel-0.9.10-21.el6_3.5.i686.rpm libvirt-python-0.9.10-21.el6_3.5.i686.rpm
x86_64: libvirt-0.9.10-21.el6_3.5.x86_64.rpm libvirt-client-0.9.10-21.el6_3.5.i686.rpm libvirt-client-0.9.10-21.el6_3.5.x86_64.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.i686.rpm libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm libvirt-devel-0.9.10-21.el6_3.5.i686.rpm libvirt-devel-0.9.10-21.el6_3.5.x86_64.rpm libvirt-python-0.9.10-21.el6_3.5.x86_64.rpm
Red Hat Enterprise Linux Workstation Optional (v. 6):
Source:
x86_64: libvirt-debuginfo-0.9.10-21.el6_3.5.x86_64.rpm libvirt-lock-sanlock-0.9.10-21.el6_3.5.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-2012:1359-01
Product: Red Hat Enterprise Linux
Advisory URL: https://access.redhat.com/errata/RHSA-2012:1359.html
Issued Date: : 2012-10-11
CVE Names: CVE-2012-4423

Topic

Updated libvirt packages that fix one security issue and multiple 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 Server Optional (v. 6) - x86_64

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

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


Bugs Fixed

857133 - CVE-2012-4423 libvirt: null function pointer invocation in virNetServerProgramDispatchCall()

858988 - The libvirt augeas lens can't parse a libvirtd.conf file where host_uuid is present

859376 - after failed hotplug qemu keeps the file descriptor open

860720 - Relabel and configure cgroups for the backing files on VIR_DOMAIN_BLOCK_JOB_ABORT_PIVOT


Related News