USN-1008-1: libvirt vulnerabilities

21 October 2010

Guest VMs could be made to circumvent security protections to access resources on the host.

Releases

Packages

  • libvirt - library for interfacing with different virtualization systems

Details

It was discovered that libvirt would probe disk backing stores without
consulting the defined format for the disk. A privileged attacker in the
guest could exploit this to read arbitrary files on the host. This issue
only affected Ubuntu 10.04 LTS. By default, guests are confined by an
AppArmor profile which provided partial protection against this flaw.
(CVE-2010-2237, CVE-2010-2238)

It was discovered that libvirt would create new VMs without setting a
backing store format. A privileged attacker in the guest could exploit this
to read arbitrary files on the host. This issue did not affect Ubuntu 8.04
LTS. In Ubuntu 9.10 and later guests are confined by an AppArmor profile
which provided partial protection against this flaw. (CVE-2010-2239)

Jeremy Nickurak discovered that libvirt created iptables rules with too
lenient mappings of source ports. A privileged attacker in the guest could
bypass intended restrictions to access privileged resources on the host.
(CVE-2010-2242)

Update instructions

The problem can be corrected by updating your system to the following package versions:

Ubuntu 9.10
Ubuntu 9.04
Ubuntu 8.04
Ubuntu 10.04

After a standard system update you need to reboot your computer to make
all the necessary changes.

ATTENTION: The previous version of libvirt on Ubuntu 10.04 LTS would probe
a qemu disk to determine its format and did not require that the format be
declared in the XML. This is considered a security problem in most
deployments and this version of libvirt will default to the 'raw' format
when the format is not specified in the XML. As a result, non-raw disks
without a specified disk format will no longer be available in existing
virtual machines.

The libvirt-migrate-qemu-disks tool is provided to aid in transitioning
virtual machine definitions to the new required format. In essence, it will
check all domains for affected virtual machines, probe the affected disks
and update the domain definition accordingly. This command will be run
automatically on upgrade. For new virtual machines using non-raw images,
the disk format must be specified in the domain XML provided to libvirt,
otherwise the disk will not be available to the virtual machine. See man 1
libvirt-migrate-qemu-disks for details.

Users who require the old behavior can adjust the 'allow_disk_format_probing'
option in /etc/libvirt/qemu.conf.