Description: | The libvirt library is a C API for managing and interacting with thevirtualization capabilities of Linux and other operating systems.In addition, libvirt provides tools for remote management ofvirtualized systems.It was found that libvirt passes the XML_PARSE_NOENT flag when parsing XMLdocuments using the libxml2 library, in which case all XML entities in theparsed documents are expanded. A user able to force libvirtd to parse anXML document with an entity pointing to a file could use this flaw to readthe contents of that file; parsing an XML document with an entity pointingto a special file that blocks on read access could cause libvirtd to hangindefinitely, resulting in a denial of service on the system.(CVE-2014-0179)Red Hat would like to thank the upstream Libvirt project for reporting thisissue. Upstream acknowledges Daniel P. Berrange and Richard Jones as theoriginal reporters.This update also fixes the following bugs:* A previous update of the libvirt package introduced an error; aSIG_SETMASK argument was incorrectly replaced by a SIG_BLOCK argument afterthe poll() system call. Consequently, the SIGCHLD signal could bepermanently blocked, which caused signal masks to not return to theiroriginal values and defunct processes to be generated. With this update,the original signal masks are restored and defunct processes are no longergenerated. (BZ#1112689)* An attempt to start a domain that did not exist caused network filters tobe locked for read-only access. As a consequence, when trying to gainread-write access, a deadlock occurred. This update applies a patch to fixthis bug and an attempt to start a non-existent domain no longer causes adeadlock in the described scenario. (BZ#1112690)* Previously, the libvirtd daemon was binding only to addresses that wereconfigured on certain network interfaces. When libvirtd started before theIPv4 addresses had been configured, libvirtd listened only on the IPv6addresses. The daemon has been modified to not require an address to beconfigured when binding to a wildcard address, such as "0.0.0.0" or "::".As a result, libvirtd binds to both IPv4 and IPv6 addresses as expected.(BZ#1112692)Users of libvirt are advised to upgrade to these updated packages, whichfix these bugs. After installing the updated packages, libvirtd will berestarted automatically. |