Scientific Linux Security Update : libvirt on SL6.x i386/x86_64

This script is Copyright (C) 2012 Tenable Network Security, Inc.


Synopsis :

The remote Scientific Linux host is missing one or more security
updates.

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 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.

See also :

http://www.nessus.org/u?b0f81814

Solution :

Update the affected packages.

Risk factor :

Medium / CVSS Base Score : 4.0
(CVSS2#AV:N/AC:L/Au:S/C:N/I:N/A:P)

Family: Scientific Linux Local Security Checks

Nessus Plugin ID: 61119 ()

Bugtraq ID:

CVE ID: CVE-2011-2511