copyright | disclaimer | privacy | contact  
Australia's Leading Computer Emergency Response Team
 
Search this site

 
On this site

 > HOME
 > About AusCERT
 > Membership
 > Contact Us
 > PKI Services
 > Publications
 > Sec. Bulletins
 > Conferences
 > News & Media
 > Services
 > Web Log
 > Site Map
 > Site Help
 > Member login





 

ESB-2014.0834 - [Win][UNIX/Linux][RedHat] libvirt: Denial of service - Remote/unauthenticated

Date: 28 May 2014
References: ESB-2014.0889  ESB-2014.1209  ESB-2014.1685  

Click here for printable version
Click here for PGP verifiable version
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

===========================================================================
             AUSCERT External Security Bulletin Redistribution

                               ESB-2014.0834
               Moderate: libvirt security and bug fix update
                                28 May 2014

===========================================================================

        AusCERT Security Bulletin Summary
        ---------------------------------

Product:           libvirt
Publisher:         Red Hat
Operating System:  Red Hat Enterprise Linux Server 6
                   Red Hat Enterprise Linux WS/Desktop 6
                   Windows
                   UNIX variants (UNIX, Linux, OSX)
Impact/Access:     Denial of Service -- Remote/Unauthenticated
Resolution:        Patch/Upgrade
CVE Names:         CVE-2014-0179  

Original Bulletin: 
   https://rhn.redhat.com/errata/RHSA-2014-0560.html

Comment: This advisory references vulnerabilities in products which run on 
         platforms other than Red Hat. It is recommended that administrators
         running libvirt check for an updated version of the software for 
         their operating system.

- --------------------------BEGIN INCLUDED TEXT--------------------

- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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

Synopsis:          Moderate: libvirt security and bug fix update
Advisory ID:       RHSA-2014:0560-01
Product:           Red Hat Enterprise Linux
Advisory URL:      https://rhn.redhat.com/errata/RHSA-2014-0560.html
Issue date:        2014-05-27
CVE Names:         CVE-2014-0179 
=====================================================================

1. Summary:

Updated libvirt packages that fix one security issue and three 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. 

It was found that libvirt passes the XML_PARSE_NOENT flag when parsing XML
documents using the libxml2 library, in which case all XML entities in the
parsed documents are expanded. A user able to force libvirtd to parse an
XML document with an entity pointing to a special file that blocks on read
access could use this flaw to cause libvirtd to hang indefinitely,
resulting in a denial of service on the system. (CVE-2014-0179)

Red Hat would like to thank the upstream Libvirt project for reporting this
issue. Upstream acknowledges Daniel P. Berrange and Richard Jones as the
original reporters.

This update also fixes the following bugs:

* When hot unplugging a virtual CPU (vCPU), libvirt kept a pointer to
already freed memory if the vCPU was pinned to a host CPU. Consequently,
when reading the CPU pinning information, libvirt terminated unexpectedly
due to an attempt to access this memory. This update ensures that libvirt
releases the pointer to the previously allocated memory when a vCPU is
being hot unplugged, and it no longer crashes in this situation.
(BZ#1091206)

* Previously, libvirt passed an incorrect argument to the "tc" command when
setting quality of service (QoS) on a network interface controller (NIC).
As a consequence, QoS was applied only to IP traffic. With this update,
libvirt constructs the "tc" command correctly so that QoS is applied to all
traffic as expected. (BZ#1096806)

* When using the sanlock daemon for managing access to shared storage,
libvirt expected all QEMU domains to be registered with sanlock. However,
if a QEMU domain was started prior to enabling sanlock, the domain was not
registered with sanlock. Consequently, migration of a virtual machine (VM)
from such a QEMU domain failed with a libvirt error. With this update,
libvirt verifies whether a QEMU domain process is registered with sanlock
before it starts working with the domain, ensuring that migration of
virtual machines works as expected. (BZ#1097227)

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

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

1088290 - CVE-2014-0179 libvirt: unsafe parsing of XML documents allows libvirt DoS and/or arbitrary file read
1091206 - libvirtd crashed after hot-unplug the vcpus which is pinned to host cpus
1096806 - [BUG] Quality of service does just apply to protocol "ip" instead of the device
1097227 - VM migration in RHEV environment failed due to libvirt error "Failed to inquire lock: No such process"

6. Package List:

Red Hat Enterprise Linux Desktop (v. 6):

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Client/en/os/SRPMS/libvirt-0.10.2-29.el6_5.8.src.rpm

i386:
libvirt-0.10.2-29.el6_5.8.i686.rpm
libvirt-client-0.10.2-29.el6_5.8.i686.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.i686.rpm
libvirt-python-0.10.2-29.el6_5.8.i686.rpm

x86_64:
libvirt-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-client-0.10.2-29.el6_5.8.i686.rpm
libvirt-client-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.i686.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-python-0.10.2-29.el6_5.8.x86_64.rpm

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

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Client/en/os/SRPMS/libvirt-0.10.2-29.el6_5.8.src.rpm

i386:
libvirt-debuginfo-0.10.2-29.el6_5.8.i686.rpm
libvirt-devel-0.10.2-29.el6_5.8.i686.rpm

x86_64:
libvirt-debuginfo-0.10.2-29.el6_5.8.i686.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-devel-0.10.2-29.el6_5.8.i686.rpm
libvirt-devel-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-lock-sanlock-0.10.2-29.el6_5.8.x86_64.rpm

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

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6ComputeNode/en/os/SRPMS/libvirt-0.10.2-29.el6_5.8.src.rpm

x86_64:
libvirt-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-client-0.10.2-29.el6_5.8.i686.rpm
libvirt-client-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.i686.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-python-0.10.2-29.el6_5.8.x86_64.rpm

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

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6ComputeNode/en/os/SRPMS/libvirt-0.10.2-29.el6_5.8.src.rpm

x86_64:
libvirt-debuginfo-0.10.2-29.el6_5.8.i686.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-devel-0.10.2-29.el6_5.8.i686.rpm
libvirt-devel-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-lock-sanlock-0.10.2-29.el6_5.8.x86_64.rpm

Red Hat Enterprise Linux Server (v. 6):

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/libvirt-0.10.2-29.el6_5.8.src.rpm

i386:
libvirt-0.10.2-29.el6_5.8.i686.rpm
libvirt-client-0.10.2-29.el6_5.8.i686.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.i686.rpm
libvirt-devel-0.10.2-29.el6_5.8.i686.rpm
libvirt-python-0.10.2-29.el6_5.8.i686.rpm

ppc64:
libvirt-0.10.2-29.el6_5.8.ppc64.rpm
libvirt-client-0.10.2-29.el6_5.8.ppc.rpm
libvirt-client-0.10.2-29.el6_5.8.ppc64.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.ppc.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.ppc64.rpm
libvirt-devel-0.10.2-29.el6_5.8.ppc.rpm
libvirt-devel-0.10.2-29.el6_5.8.ppc64.rpm
libvirt-python-0.10.2-29.el6_5.8.ppc64.rpm

s390x:
libvirt-0.10.2-29.el6_5.8.s390x.rpm
libvirt-client-0.10.2-29.el6_5.8.s390.rpm
libvirt-client-0.10.2-29.el6_5.8.s390x.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.s390.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.s390x.rpm
libvirt-devel-0.10.2-29.el6_5.8.s390.rpm
libvirt-devel-0.10.2-29.el6_5.8.s390x.rpm
libvirt-python-0.10.2-29.el6_5.8.s390x.rpm

x86_64:
libvirt-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-client-0.10.2-29.el6_5.8.i686.rpm
libvirt-client-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.i686.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-devel-0.10.2-29.el6_5.8.i686.rpm
libvirt-devel-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-python-0.10.2-29.el6_5.8.x86_64.rpm

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

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/libvirt-0.10.2-29.el6_5.8.src.rpm

x86_64:
libvirt-debuginfo-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-lock-sanlock-0.10.2-29.el6_5.8.x86_64.rpm

Red Hat Enterprise Linux Workstation (v. 6):

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Workstation/en/os/SRPMS/libvirt-0.10.2-29.el6_5.8.src.rpm

i386:
libvirt-0.10.2-29.el6_5.8.i686.rpm
libvirt-client-0.10.2-29.el6_5.8.i686.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.i686.rpm
libvirt-devel-0.10.2-29.el6_5.8.i686.rpm
libvirt-python-0.10.2-29.el6_5.8.i686.rpm

x86_64:
libvirt-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-client-0.10.2-29.el6_5.8.i686.rpm
libvirt-client-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.i686.rpm
libvirt-debuginfo-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-devel-0.10.2-29.el6_5.8.i686.rpm
libvirt-devel-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-python-0.10.2-29.el6_5.8.x86_64.rpm

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

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Workstation/en/os/SRPMS/libvirt-0.10.2-29.el6_5.8.src.rpm

x86_64:
libvirt-debuginfo-0.10.2-29.el6_5.8.x86_64.rpm
libvirt-lock-sanlock-0.10.2-29.el6_5.8.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-2014-0179.html
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.4.4 (GNU/Linux)

iD8DBQFThL9VXlSAg2UNWIIRAhMDAKCJzAmos8PKFZCoT8oEXQqqFtMlVgCeMI7u
McdhSsbPVddS/kc/Gcg3f2E=
=q8wr
- -----END PGP SIGNATURE-----

- --------------------------END INCLUDED TEXT--------------------

You have received this e-mail bulletin as a result of your organisation's
registration with AusCERT. The mailing list you are subscribed to is
maintained within your organisation, so if you do not wish to continue
receiving these bulletins you should contact your local IT manager. If
you do not know who that is, please send an email to auscert@auscert.org.au
and we will forward your request to the appropriate person.

NOTE: Third Party Rights
This security bulletin is provided as a service to AusCERT's members.  As
AusCERT did not write the document quoted above, AusCERT has had no control
over its content. The decision to follow or act on information or advice
contained in this security bulletin is the responsibility of each user or
organisation, and should be considered in accordance with your organisation's
site policies and procedures. AusCERT takes no responsibility for consequences
which may arise from following or acting on information or advice contained in
this security bulletin.

NOTE: This is only the original release of the security bulletin.  It may
not be updated when updates to the original are made.  If downloading at
a later date, it is recommended that the bulletin is retrieved directly
from the author's website to ensure that the information is still current.

Contact information for the authors of the original document is included
in the Security Bulletin above.  If you have any questions or need further
information, please contact them directly.

Previous advisories and external security bulletins can be retrieved from:

        http://www.auscert.org.au/render.html?cid=1980

===========================================================================
Australian Computer Emergency Response Team
The University of Queensland
Brisbane
Qld 4072

Internet Email: auscert@auscert.org.au
Facsimile:      (07) 3365 7031
Telephone:      (07) 3365 4417 (International: +61 7 3365 4417)
                AusCERT personnel answer during Queensland business hours
                which are GMT+10:00 (AEST).
                On call after hours for member emergencies only.
===========================================================================
-----BEGIN PGP SIGNATURE-----
Comment: http://www.auscert.org.au/render.html?it=1967

iQIVAwUBU4VpOxLndAQH1ShLAQKgOQ/+NqrBwKo1nLDhslg8ORdt3qRSid4amm4N
bdSBjulGO+n1YWK9hE5/bXqFHojyv645vbt4ZljrinqYZAv7OSd8CvJfjqhCDCOY
9BX0Enak8cIUWHjYeqBTmOgoqtliFn1tdbtm7ISt/7gFRgNM1AaG1pa2yHHbE0xS
8zLj3eYCrJnFiWvuHSj9Ixr+BL548MK3oO9b35QV/SgTVK9sbxE9G1F4OvnMyv/9
3x2YG+jBgowGphZj8a1cjqVngKpMhl50EdV376b0Fk3c90+xN8afgwp4h2WaZYUY
HbOubdoa46X+hN9AXpuv7AyTGvMg8mRMFokoqL2DsbY9fH4lt/JJcbETXYTo238v
rXUKoqPtix4yk+lFLkgNaJL8ccRScVh1B4/TVgewWkg2p9RnloR4BLTeAet/7TsB
KQgNqhj9oXNGOh25mJ2tMDKtEON4HMT3657A4jOJXX4TxGbLVPGIdg7z9xOWVNBo
IA5idTkHCvgoyua5H/CbD8Rn9qPb4CB2KDz/f05rtjEuKBFScKr6BJstEWsC34am
QBXRz70CXXhBGAnZX1VWWtWwQmIkrBlZIla9toZFDYnMGlSkoEPRoqNypAvMf/rc
VOuLC9oqT1GY6jG6lbghb1UY3KQYwjSlF8TMraKyoSKJ6K96KKLFs2hH50840rMq
G8+Snmnw/fQ=
=Iztz
-----END PGP SIGNATURE-----