Red Hat Security Advisory 2014-1873-01 - 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. An out-of-bounds read flaw was found in the way libvirt's qemuDomainGetBlockIoTune() function looked up the disk index in a non-persistent disk configuration while a persistent disk configuration was being indexed. A remote attacker able to establish a read-only connection to libvirtd could use this flaw to crash libvirtd or, potentially, leak memory from the libvirtd process.
926fc0cc610c6630f02ce4257be003e8e729f64fc84448045e963d1964416a7a
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
=====================================================================
Red Hat Security Advisory
Synopsis: Moderate: libvirt security and bug fix update
Advisory ID: RHSA-2014:1873-01
Product: Red Hat Enterprise Linux
Advisory URL: https://rhn.redhat.com/errata/RHSA-2014-1873.html
Issue date: 2014-11-18
CVE Names: CVE-2014-3633 CVE-2014-3657 CVE-2014-7823
=====================================================================
1. Summary:
Updated libvirt packages that fix three security issues and one bug are now
available for Red Hat Enterprise Linux 6.
Red Hat Product Security has rated this update as having Moderate security
impact. Common Vulnerability Scoring System (CVSS) base scores, which give
detailed severity ratings, are available for each vulnerability from the
CVE links 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.
An out-of-bounds read flaw was found in the way libvirt's
qemuDomainGetBlockIoTune() function looked up the disk index in a
non-persistent (live) disk configuration while a persistent disk
configuration was being indexed. A remote attacker able to establish a
read-only connection to libvirtd could use this flaw to crash libvirtd or,
potentially, leak memory from the libvirtd process. (CVE-2014-3633)
A denial of service flaw was found in the way libvirt's
virConnectListAllDomains() function computed the number of used domains.
A remote attacker able to establish a read-only connection to libvirtd
could use this flaw to make any domain operations within libvirt
unresponsive. (CVE-2014-3657)
It was found that when the VIR_DOMAIN_XML_MIGRATABLE flag was used, the
QEMU driver implementation of the virDomainGetXMLDesc() function could
bypass the restrictions of the VIR_DOMAIN_XML_SECURE flag. A remote
attacker able to establish a read-only connection to libvirtd could use
this flaw to leak certain limited information from the domain XML data.
(CVE-2014-7823)
The CVE-2014-3633 issue was discovered by Luyao Huang of Red Hat.
This update also fixes the following bug:
When dumping migratable XML configuration of a domain, libvirt removes some
automatically added devices for compatibility with older libvirt releases.
If such XML is passed to libvirt as a domain XML that should be used during
migration, libvirt checks this XML for compatibility with the internally
stored configuration of the domain. However, prior to this update, these
checks failed because of devices that were missing (the same devices
libvirt removed). As a consequence, migration with user-supplied migratable
XML failed. Since this feature is used by OpenStack, migrating QEMU/KVM
domains with OpenStack always failed. With this update, before checking
domain configurations for compatibility, libvirt transforms both
user-supplied and internal configuration into a migratable form
(automatically added devices are removed) and checks those instead. Thus,
no matter whether the user-supplied configuration was generated as
migratable or not, libvirt does not err about missing devices, and
migration succeeds as expected. (BZ#1155564)
All libvirt users 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/articles/11258
5. Bugs fixed (https://bugzilla.redhat.com/):
1141131 - CVE-2014-3633 libvirt: qemu: out-of-bounds read access in qemuDomainGetBlockIoTune() due to invalid index
1145667 - CVE-2014-3657 libvirt: domain_conf: domain deadlock DoS
1160817 - CVE-2014-7823 libvirt: dumpxml: information leak with migratable flag
6. Package List:
Red Hat Enterprise Linux Desktop (v. 6):
Source:
libvirt-0.10.2-46.el6_6.2.src.rpm
i386:
libvirt-0.10.2-46.el6_6.2.i686.rpm
libvirt-client-0.10.2-46.el6_6.2.i686.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.i686.rpm
libvirt-python-0.10.2-46.el6_6.2.i686.rpm
x86_64:
libvirt-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-client-0.10.2-46.el6_6.2.i686.rpm
libvirt-client-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.i686.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-python-0.10.2-46.el6_6.2.x86_64.rpm
Red Hat Enterprise Linux Desktop Optional (v. 6):
i386:
libvirt-debuginfo-0.10.2-46.el6_6.2.i686.rpm
libvirt-devel-0.10.2-46.el6_6.2.i686.rpm
x86_64:
libvirt-debuginfo-0.10.2-46.el6_6.2.i686.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-devel-0.10.2-46.el6_6.2.i686.rpm
libvirt-devel-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-lock-sanlock-0.10.2-46.el6_6.2.x86_64.rpm
Red Hat Enterprise Linux HPC Node (v. 6):
Source:
libvirt-0.10.2-46.el6_6.2.src.rpm
x86_64:
libvirt-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-client-0.10.2-46.el6_6.2.i686.rpm
libvirt-client-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.i686.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-python-0.10.2-46.el6_6.2.x86_64.rpm
Red Hat Enterprise Linux HPC Node Optional (v. 6):
x86_64:
libvirt-debuginfo-0.10.2-46.el6_6.2.i686.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-devel-0.10.2-46.el6_6.2.i686.rpm
libvirt-devel-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-lock-sanlock-0.10.2-46.el6_6.2.x86_64.rpm
Red Hat Enterprise Linux Server (v. 6):
Source:
libvirt-0.10.2-46.el6_6.2.src.rpm
i386:
libvirt-0.10.2-46.el6_6.2.i686.rpm
libvirt-client-0.10.2-46.el6_6.2.i686.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.i686.rpm
libvirt-devel-0.10.2-46.el6_6.2.i686.rpm
libvirt-python-0.10.2-46.el6_6.2.i686.rpm
ppc64:
libvirt-0.10.2-46.el6_6.2.ppc64.rpm
libvirt-client-0.10.2-46.el6_6.2.ppc.rpm
libvirt-client-0.10.2-46.el6_6.2.ppc64.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.ppc.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.ppc64.rpm
libvirt-devel-0.10.2-46.el6_6.2.ppc.rpm
libvirt-devel-0.10.2-46.el6_6.2.ppc64.rpm
libvirt-python-0.10.2-46.el6_6.2.ppc64.rpm
s390x:
libvirt-0.10.2-46.el6_6.2.s390x.rpm
libvirt-client-0.10.2-46.el6_6.2.s390.rpm
libvirt-client-0.10.2-46.el6_6.2.s390x.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.s390.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.s390x.rpm
libvirt-devel-0.10.2-46.el6_6.2.s390.rpm
libvirt-devel-0.10.2-46.el6_6.2.s390x.rpm
libvirt-python-0.10.2-46.el6_6.2.s390x.rpm
x86_64:
libvirt-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-client-0.10.2-46.el6_6.2.i686.rpm
libvirt-client-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.i686.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-devel-0.10.2-46.el6_6.2.i686.rpm
libvirt-devel-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-python-0.10.2-46.el6_6.2.x86_64.rpm
Red Hat Enterprise Linux Server Optional (v. 6):
x86_64:
libvirt-debuginfo-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-lock-sanlock-0.10.2-46.el6_6.2.x86_64.rpm
Red Hat Enterprise Linux Workstation (v. 6):
Source:
libvirt-0.10.2-46.el6_6.2.src.rpm
i386:
libvirt-0.10.2-46.el6_6.2.i686.rpm
libvirt-client-0.10.2-46.el6_6.2.i686.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.i686.rpm
libvirt-devel-0.10.2-46.el6_6.2.i686.rpm
libvirt-python-0.10.2-46.el6_6.2.i686.rpm
x86_64:
libvirt-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-client-0.10.2-46.el6_6.2.i686.rpm
libvirt-client-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.i686.rpm
libvirt-debuginfo-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-devel-0.10.2-46.el6_6.2.i686.rpm
libvirt-devel-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-python-0.10.2-46.el6_6.2.x86_64.rpm
Red Hat Enterprise Linux Workstation Optional (v. 6):
x86_64:
libvirt-debuginfo-0.10.2-46.el6_6.2.x86_64.rpm
libvirt-lock-sanlock-0.10.2-46.el6_6.2.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/
7. References:
https://access.redhat.com/security/cve/CVE-2014-3633
https://access.redhat.com/security/cve/CVE-2014-3657
https://access.redhat.com/security/cve/CVE-2014-7823
https://access.redhat.com/security/updates/classification/#moderate
8. Contact:
The Red Hat security contact is <secalert@redhat.com>. More contact
details at https://access.redhat.com/security/team/contact/
Copyright 2014 Red Hat, Inc.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iD8DBQFUa5NcXlSAg2UNWIIRAli7AKCve3oig6e5tb3LFu+lbKPzYlBR4gCgoOZH
88LfENok40vQIz6Ff4zgFrU=
=zdI4
-----END PGP SIGNATURE-----
--
RHSA-announce mailing list
RHSA-announce@redhat.com
https://www.redhat.com/mailman/listinfo/rhsa-announce