Synopsis: Moderate: libvirt security and bug fix update
Issue Date: 2011-08-23
CVE Numbers: CVE-2011-2511
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 remotely managing virtualized 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 also fixes the following bugs:
* Previously, when the "virsh vol-create-from" command was run on an LVM
(Logical Volume Manager) storage pool, performance of the command was
very low and the operation consumed an excessive amount of time. This
bug has been fixed in the virStorageVolCreateXMLFrom() function, and the
performance problem of the command no longer occurs.
* Due to a regression, libvirt used undocumented command line options,
instead of the recommended ones. Consequently, the qemu-img utility used
an invalid argument while creating an encrypted volume, and the process
eventually failed. With this update, the bug in the backing format of
the storage back end has been fixed, and encrypted volumes can now be
created as expected.
* Due to a bug in the qemuAuditDisk() function, hot unplug failures were
never audited, and a hot unplug success was audited as a failure. This
bug has been fixed, and auditing of disk hot unplug operations now works
as expected.
* Previously, when a debug process was being activated, the act of
preparing a debug message ended up with dereferencing a UUID
(universally unique identifier) prior to the NULL argument check.
Consequently, an API running the debug process sometimes terminated with
a segmentation fault. With this update, a patch has been provided to
address this issue, and the crashes no longer occur in the described
scenario.
* The libvirt library uses the "boot=on" option to mark which disk is
bootable but it only uses that option if Qemu advertises its support.
The qemu-kvm utility in Scientific Linux 6.1 removed support for that
option and libvirt could not use it. As a consequence, when an IDE disk
was added as the second storage with a virtio disk being set up as the
first one by default, the operating system tried to boot from the IDE
disk rather than the virtio disk and either failed to boot with the "No
bootable disk" error message returned, or the system booted whatever
operating system was on the IDE disk. With this update, the boot
configuration is translated into bootindex, which provides control over
which device is used for booting a guest operating system, thus fixing
this bug.
All users of libvirt are advised to upgrade to these updated packages,
which contain backported patches to correct these issues. After
installing the updated packages, libvirtd must be restarted ("service
libvirtd restart") for this update to take effect.
SL6:
i386
libvirt-0.8.7-18.el6_1.1.i686.rpm
libvirt-client-0.8.7-18.el6_1.1.i686.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm
libvirt-devel-0.8.7-18.el6_1.1.i686.rpm
libvirt-python-0.8.7-18.el6_1.1.i686.rpm
x86_64
libvirt-devel-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-devel-0.8.7-18.el6_1.1.i686.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-debuginfo-0.8.7-18.el6_1.1.i686.rpm
libvirt-client-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-client-0.8.7-18.el6_1.1.i686.rpm
libvirt-0.8.7-18.el6_1.1.x86_64.rpm
libvirt-python-0.8.7-18.el6_1.1.x86_64.rpm
- Scientific Linux Development Team
|