-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ===================================================================== Red Hat Security Advisory Synopsis: Moderate: libvirt security, bug fix, and enhancement update Advisory ID: RHSA-2011:1019-01 Product: Red Hat Enterprise Linux Advisory URL: https://rhn.redhat.com/errata/RHSA-2011-1019.html Issue date: 2011-07-21 CVE Names: CVE-2011-2511 ===================================================================== 1. Summary: Updated libvirt packages that fix one security issue, several bugs and add various enhancements are now available for Red Hat Enterprise Linux 5. 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: RHEL Desktop Multi OS (v. 5 client) - i386, x86_64 RHEL Virtualization (v. 5 server) - i386, ia64, 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. 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 fixes the following bugs: * libvirt was rebased from version 0.6.3 to version 0.8.2 in Red Hat Enterprise Linux 5.6. A code audit found a minor API change that effected error messages seen by libvirt 0.8.2 clients talking to libvirt 0.7.1 – 0.7.7 (0.7.x) servers. A libvirt 0.7.x server could send VIR_ERR_BUILD_FIREWALL errors where a libvirt 0.8.2 client expected VIR_ERR_CONFIG_UNSUPPORTED errors. In other circumstances, a libvirt 0.8.2 client saw a "Timed out during operation" message where it should see an "Invalid network filter" error. This update adds a backported patch that allows libvirt 0.8.2 clients to interoperate with the API as used by libvirt 0.7.x servers, ensuring correct error messages are sent. (BZ#665075) * libvirt could crash if the maximum number of open file descriptors (_SC_OPEN_MAX) grew larger than the FD_SETSIZE value because it accessed file descriptors outside the bounds of the set. With this update the maximum number of open file descriptors can no longer grow larger than the FD_SETSIZE value. (BZ#665549) * A libvirt race condition was found. An array in the libvirt event handlers was accessed with a lock temporarily released. In rare cases, if one thread attempted to access this array but a second thread reallocated the array before the first thread reacquired a lock, it could lead to the first thread attempting to access freed memory, potentially causing libvirt to crash. With this update libvirt no longer refers to the old array and, consequently, behaves as expected. (BZ#671569) * Guests connected to a passthrough NIC would kernel panic if a system_reset signal was sent through the QEMU monitor. With this update you can reset such guests as expected. (BZ#689880) * When using the Xen kernel, the rpmbuild command failed on the xencapstest test. With this update you can run rpmbuild successfully when using the Xen kernel. (BZ#690459) * When a disk was hot unplugged, "ret >= 0" was passed to the qemuAuditDisk calls in disk hotunplug operations before ret was, in fact, set to 0. As well, the error path jumped to the "cleanup" label prematurely. As a consequence, hotunplug failures were not audited and hotunplug successes were audited as failures. This was corrected and hot unplugging checks now behave as expected. (BZ#710151) * A conflict existed between filter update locking sequences and virtual machine startup locking sequences. When a filter update occurred on one or more virtual machines, a deadlock could consequently occur if a virtual machine referencing a filter was started. This update changes and makes more flexible several qemu locking sequences ensuring this deadlock no longer occurs. (BZ#697749) * qemudDomainSaveImageStartVM closed some incoming file descriptor (fd) arguments without informing the caller. The consequent double-closes could cause Domain restoration failure. This update alters the qemudDomainSaveImageStartVM signature to prevent the double-closes. (BZ#681623) This update also adds the following enhancements: * The libvirt Xen driver now supports more than one serial port. (BZ#670789) * Enabling and disabling the High Precision Event Timer (HPET) in Xen domains is now possible. (BZ#703193) All libvirt users should install this update which addresses this vulnerability, fixes these bugs and adds these enhancements. 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/): 665075 - minor libvirt API break in error reporting 665549 - libvirt crash on src/util/util.c in __virExec 671569 - race condition in libvirt could lead to crash on event handling 681623 - libvirt double-close bug in tight loop of save/restore [5.7] 689880 - guest with passthrough nic got kernel panic when send system_reset signal in QEMU monitor 690459 - rpmbuild failed on xencapstest when running under xen kernel 697749 - Deadlock between VM ops and filter update 703193 - support enabling/disabling xen hpet 710151 - Auditing of QEMU driver disk hotunplug events logs is missing and/or incorrect 717199 - CVE-2011-2511 libvirt: integer overflow in VirDomainGetVcpus 6. Package List: RHEL Desktop Multi OS (v. 5 client): Source: ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Client/en/os/SRPMS/libvirt-0.8.2-22.el5.src.rpm i386: libvirt-0.8.2-22.el5.i386.rpm libvirt-debuginfo-0.8.2-22.el5.i386.rpm libvirt-devel-0.8.2-22.el5.i386.rpm libvirt-python-0.8.2-22.el5.i386.rpm x86_64: libvirt-0.8.2-22.el5.i386.rpm libvirt-0.8.2-22.el5.x86_64.rpm libvirt-debuginfo-0.8.2-22.el5.i386.rpm libvirt-debuginfo-0.8.2-22.el5.x86_64.rpm libvirt-devel-0.8.2-22.el5.i386.rpm libvirt-devel-0.8.2-22.el5.x86_64.rpm libvirt-python-0.8.2-22.el5.x86_64.rpm RHEL Virtualization (v. 5 server): Source: ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/libvirt-0.8.2-22.el5.src.rpm i386: libvirt-0.8.2-22.el5.i386.rpm libvirt-debuginfo-0.8.2-22.el5.i386.rpm libvirt-devel-0.8.2-22.el5.i386.rpm libvirt-python-0.8.2-22.el5.i386.rpm ia64: libvirt-0.8.2-22.el5.ia64.rpm libvirt-debuginfo-0.8.2-22.el5.ia64.rpm libvirt-devel-0.8.2-22.el5.ia64.rpm libvirt-python-0.8.2-22.el5.ia64.rpm x86_64: libvirt-0.8.2-22.el5.i386.rpm libvirt-0.8.2-22.el5.x86_64.rpm libvirt-debuginfo-0.8.2-22.el5.i386.rpm libvirt-debuginfo-0.8.2-22.el5.x86_64.rpm libvirt-devel-0.8.2-22.el5.i386.rpm libvirt-devel-0.8.2-22.el5.x86_64.rpm libvirt-python-0.8.2-22.el5.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. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.4 (GNU/Linux) iD8DBQFOKCq3XlSAg2UNWIIRAh+2AKCGGhUYMwzTuqeKUHbY+BhxEYouoACgpqfB b/l7//fSgMwQIA5HVRWMmcI= =wBo1 -----END PGP SIGNATURE----- -- RHSA-announce mailing list RHSA-announce@redhat.com https://www.redhat.com/mailman/listinfo/rhsa-announce