VENOM: QEMU vulnerability (CVE-2015-3456)

Red Hat Product Security has been made aware of a 'buffer overflow' vulnerability affecting the Floppy Disk Controller (FDC) emulation implemented in the QEMU component of the KVM/QEMU and Xen hypervisors. The vulnerability, which has been assigned CVE-2015-3456 and is now being referred to as VENOM, was discovered by Jason Geffner of CrowdStrike, Inc. The vulnerability was rated as having an Important impact.

Background Information

QEMU is a generic and open source machine emulator and virtualizer and is incorporated in some Red Hat products as a foundation and hardware emulation layer for running virtual machines under the Xen and KVM/QEMU hypervisors.

Impact

A privileged guest user could use this flaw to crash the guest or, potentially, execute arbitrary code on the host with the privileges of the host's QEMU process corresponding to the guest. It needs to be noted that even if a guest does not explicitly have a virtual floppy disk configured and attached, this issue is exploitable. The problem exists in the Floppy Disk Controller, which is initialized for every x86 and x86_64 guest regardless of the configuration and cannot be removed or disabled.

There is currently no known exploit that would make use of this vulnerability. The sVirt and seccomp functionality is used to restrict host's QEMU process privileges and resource access might mitigate the impact of successful exploitation of this issue. A possible policy-based workaround is to avoid granting untrusted users administrator privileges within guests.

Detailed Impact Information

This flaw does not require the floppy device to be present in /dev/ within the guest because the Floppy Disk Controller (FDC) is still present in the system. User-level access to a guest with sufficient permissions to talk to FDC I/O ports (i.e. the root or a privileged user on Linux or virtually any user on a Windows guest) is all that is required to exploit this flaw. To mitigate the overall risk of this vulnerability, only grant privileged guest access to trusted users.

All Red Hat products that include QEMU are vulnerable to this flaw. Affected Red Hat products are the following:

Product Package Advisory
Red Hat Enterprise Linux 5 kvm RHSA-2015:1003
xen RHSA-2015:1002
Red Hat Enterprise Linux 6 qemu-kvm RHSA-2015-0998
Red Hat Enterprise Linux 7 qemu-kvm RHSA-2015-0999
Red Hat Enterprise Virtualization 3 (RHEL 6) qemu-kvm-rhev RHSA-2015-1001
Red Hat Enterprise Virtualization 3 (RHEL 7) qemu-kvm-rhev RHSA-2015-1000
OpenStack Platform 4 (RHEL 6) qemu-kvm-rhev RHSA-2015:1004
OpenStack Platform 5 (RHEL 6) qemu-kvm-rhev RHSA-2015:1004
OpenStack Platform 5 (RHEL 7) qemu-kvm-rhev RHSA-2015:1004
OpenStack Platform 6 (RHEL 7) qemu-kvm-rhev RHSA-2015:1004
RHEV-H 3 (RHEL 6) rhev-hypervisor6 RHSA-2015:1011
RHEV-H 3 (RHEL 7) rhev-hypervisor7 RHSA-2015:1011
Updates for RHEL Hypervisor hosts

Errata for the qemu-kvm-rhev packages for RHEL 6.6.z and RHEL 7.1.z have been made available; see the table above. We recommend that customers update the qemu-kvm-rhev package on RHEL Hypervisor hosts to the latest version using the yum package manager. See the Resolution section below for instructions.

Updates for RHEV Hypervisor (RHEV-H) hosts

RHEV-H images have been rebuilt with the fixed version of QEMU and are now available for download. See the RHSA-2015:1011 for details. Updated images for the older 3.4 version of the Hypervisor are available upon request.

Determining Vulnerability

As a Red Hat customer, the easiest way to check vulnerability and confirm remediation is the Red Hat Access Lab: VENOM: QEMU Vulnerability Detector.

Resolution

To eliminate the possibility of exploitation, install the updated QEMU, KVM, or Xen packages that have been made available through the advisories listed in the above table.

To install the updates, use the yum package manager as follows:

yum update

To only update the QEMU package (or the relevant package for your system) and its dependencies, use, for example:

yum update qemu-kvm

Following the update, the guests (virtual machines) need to be powered off and started up again for the update to take effect. It is also possible to migrate guests away from the affected host, update the host, and then migrate the guests back. Please note that it is not enough to restart the guests because a restarted guest would continue running using the same (old, not updated) QEMU binary.

Additional Information

Red Hat Security Blog on CVE-2015-3456

  • Component
  • kvm

Comments