Oval Definition:oval:com.redhat.rhsa:def:20150323
Revision Date:2015-03-05Version:639
Title:RHSA-2015:0323: libvirt security, bug fix, and enhancement update (Low)
Description:The libvirt library is a C API for managing and interacting with the virtualization capabilities of Linux and other operating systems.

It was found that QEMU's qemuDomainMigratePerform() and qemuDomainMigrateFinish2() functions did not correctly perform a domain unlock on a failed ACL check. A remote attacker able to establish a connection to libvirtd could use this flaw to lock a domain of a more privileged user, causing a denial of service. (CVE-2014-8136)

It was discovered that the virDomainSnapshotGetXMLDesc() and virDomainSaveImageGetXMLDesc() functions did not sufficiently limit the usage of the VIR_DOMAIN_XML_SECURE flag when fine-grained ACLs were enabled. A remote attacker able to establish a connection to libvirtd could use this flaw to obtain certain sensitive information from the domain XML file. (CVE-2015-0236)

The CVE-2015-0236 issue was found by Luyao Huang of Red Hat.

Bug fixes:

  • The libvirtd daemon previously attempted to search for SELinux contexts even when SELinux was disabled on the host. Consequently, libvirtd logged "Unable to lookup SELinux process context" error messages every time a client connected to libvirtd and SELinux was disabled. libvirtd now verifies whether SELinux is enabled before searching for SELinux contexts, and no longer logs the error messages on a host with SELinux disabled. (BZ#1135155)

  • The libvirt utility passed incomplete PCI addresses to QEMU. Consequently, assigning a PCI device that had a PCI address with a non-zero domain to a guest failed. Now, libvirt properly passes PCI domain to QEMU when assigning PCI devices, which prevents the described problem. (BZ#1127080)

  • Because the virDomainSetMaxMemory API did not allow changing the current memory in the LXC driver, the "virsh setmaxmem" command failed when attempting to set the maximum memory to be lower than the current memory. Now, "virsh setmaxmem" sets the current memory to the intended value of the maximum memory, which avoids the mentioned problem. (BZ#1091132)

  • Attempting to start a non-existent domain caused network filters to stay locked for read-only access. Because of this, subsequent attempts to gain read-write access to network filters triggered a deadlock. Network filters are now properly unlocked in the described scenario, and the deadlock no longer occurs. (BZ#1088864)

  • If a guest configuration had an active nwfilter using the DHCP snooping feature and an attempt was made to terminate libvirtd before the associated nwfilter rule snooped the guest IP address from DHCP packets, libvirtd became unresponsive. This problem has been fixed by setting a longer wait time for snooping the guest IP address. (BZ#1075543)

    Enhancements:

  • A new "migrate_host" option is now available in /etc/libvirt/qemu.conf, which allows users to set a custom IP address to be used for incoming migrations. (BZ#1087671)

  • With this update, libvirt is able to create a compressed memory-only crash dump of a QEMU domain. This type of crash dump is directly readable by the GNU Debugger and requires significantly less hard disk space than the standard crash dump. (BZ#1035158)

  • Support for reporting the NUMA node distance of the host has been added to libvirt. This enhances the current libvirt capabilities for reporting NUMA topology of the host, and allows for easier optimization of new domains. (BZ#1086331)

  • The XML file of guest and host capabilities generated by the "virsh capabilities" command has been enhanced to list the following information, where relevant: the interface speed and link status of the host, the PCI Express (PCIe) details, the host's hardware support for I/O virtualization, and a report on the huge memory pages. (BZ#1076960, BZ#1076957, BZ#1076959, BZ#1076962)

    These packages also include a number of other bug fixes and enhancements. For additional details, see the "Bugs Fixed" section below.
  • Family:unixClass:patch
    Status:Reference(s):CVE-2014-8136
    CVE-2015-0236
    RHSA-2015:0323
    RHSA-2015:0323-00
    RHSA-2015:0323-02
    Platform(s):Red Hat Enterprise Linux 7
    Red Hat Enterprise Linux 7 (please do not use for >= RHEL-7.5)
    Product(s):
    Definition Synopsis
  • Red Hat Enterprise Linux must be installed
  • OR Package Information
  • Red Hat Enterprise Linux 7 is installed
  • AND
  • libvirt is earlier than 0:1.2.8-16.el7
  • AND libvirt is signed with Red Hat redhatrelease2 key
  • libvirt-client is earlier than 0:1.2.8-16.el7
  • AND libvirt-client is signed with Red Hat redhatrelease2 key
  • libvirt-daemon is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon is signed with Red Hat redhatrelease2 key
  • libvirt-daemon-config-network is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-config-network is signed with Red Hat redhatrelease2 key
  • libvirt-daemon-config-nwfilter is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-config-nwfilter is signed with Red Hat redhatrelease2 key
  • libvirt-daemon-driver-interface is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-interface is signed with Red Hat redhatrelease2 key
  • libvirt-daemon-driver-lxc is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-lxc is signed with Red Hat redhatrelease2 key
  • libvirt-daemon-driver-network is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-network is signed with Red Hat redhatrelease2 key
  • libvirt-daemon-driver-nodedev is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-nodedev is signed with Red Hat redhatrelease2 key
  • libvirt-daemon-driver-nwfilter is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-nwfilter is signed with Red Hat redhatrelease2 key
  • libvirt-daemon-driver-qemu is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-qemu is signed with Red Hat redhatrelease2 key
  • libvirt-daemon-driver-secret is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-secret is signed with Red Hat redhatrelease2 key
  • libvirt-daemon-driver-storage is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-storage is signed with Red Hat redhatrelease2 key
  • libvirt-daemon-kvm is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-kvm is signed with Red Hat redhatrelease2 key
  • libvirt-daemon-lxc is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-lxc is signed with Red Hat redhatrelease2 key
  • libvirt-devel is earlier than 0:1.2.8-16.el7
  • AND libvirt-devel is signed with Red Hat redhatrelease2 key
  • libvirt-docs is earlier than 0:1.2.8-16.el7
  • AND libvirt-docs is signed with Red Hat redhatrelease2 key
  • libvirt-lock-sanlock is earlier than 0:1.2.8-16.el7
  • AND libvirt-lock-sanlock is signed with Red Hat redhatrelease2 key
  • libvirt-login-shell is earlier than 0:1.2.8-16.el7
  • AND libvirt-login-shell is signed with Red Hat redhatrelease2 key
  • Definition Synopsis
  • Release Information
  • Red Hat Enterprise Linux 7 Client is installed
  • OR Red Hat Enterprise Linux 7 Server is installed
  • OR Red Hat Enterprise Linux 7 Workstation is installed
  • OR Red Hat Enterprise Linux 7 ComputeNode is installed
  • AND Package Information
  • libvirt-client is earlier than 0:1.2.8-16.el7
  • AND libvirt-client is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-daemon-driver-nodedev is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-nodedev is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-docs is earlier than 0:1.2.8-16.el7
  • AND libvirt-docs is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-daemon-config-nwfilter is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-config-nwfilter is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-daemon-config-network is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-config-network is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-daemon-driver-interface is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-interface is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-daemon-driver-network is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-network is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt is earlier than 0:1.2.8-16.el7
  • AND libvirt is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-devel is earlier than 0:1.2.8-16.el7
  • AND libvirt-devel is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-daemon-driver-qemu is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-qemu is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-daemon is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-daemon-driver-secret is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-secret is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-daemon-driver-storage is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-storage is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-daemon-driver-nwfilter is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-nwfilter is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-daemon-driver-lxc is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-driver-lxc is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-daemon-kvm is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-kvm is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-lock-sanlock is earlier than 0:1.2.8-16.el7
  • AND libvirt-lock-sanlock is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-daemon-lxc is earlier than 0:1.2.8-16.el7
  • AND libvirt-daemon-lxc is signed with Red Hat redhatrelease2 key
  • OR
  • libvirt-login-shell is earlier than 0:1.2.8-16.el7
  • AND libvirt-login-shell is signed with Red Hat redhatrelease2 key
  • BACK