Cloudanix VulnDB

CVE-2016-5403

Medium · 5.5

CVSS

5.5

EPSS

0.5%

Published

Aug 2, 2016

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in the virtualization software allows someone already in control of a virtual machine to make the host system run out of memory and crash, taking the virtual machine offline.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
Application
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The virtqueue_pop function in QEMU's virtio implementation permits a local guest administrator to submit virtio requests without corresponding completions, resulting in unbounded memory allocation within the QEMU process that eventually triggers a crash.

Why it matters to the business

Virtual machine instances can be rendered unavailable through resource exhaustion, disrupting hosted services and requiring administrative intervention to restart affected QEMU processes across multiple platforms including Red Hat, Debian, Ubuntu, and Oracle distributions.

How an attack unfolds

An attacker with administrative privileges inside a guest operating system crafts a sequence of virtio requests that are enqueued but never completed, steadily consuming host memory allocated to the QEMU process until it terminates.

How to fix it

Upgrade QEMU to a version containing the virtqueue_pop fix on all affected platforms; apply the corresponding vendor updates for Red Hat Enterprise Linux, Ubuntu, Debian, Oracle Linux, and related virtualization products.

How to confirm the fix worked

Verify QEMU version numbers against vendor advisories, review virtio-related source changes, and confirm that guest-initiated request flooding no longer produces unbounded memory growth in the QEMU process.

Typical attack path

  1. Obtain local administrator access inside a virtual machine guest
  2. Interact directly with virtio devices exposed by QEMU
  3. Submit repeated virtqueue requests while suppressing completion notifications
  4. Monitor QEMU memory consumption until the process crashes or becomes unresponsive

How to detect it

Examine QEMU process memory statistics and system logs for repeated virtio request submissions without completions; correlate guest administrative actions with host-level memory exhaustion events.

What your security team should do

  • Apply available QEMU updates across all hypervisor hosts as the primary remediation
  • Restrict administrative access inside guest operating systems to the minimum necessary personnel
  • Monitor QEMU process memory usage for sudden spikes originating from individual guests
  • Review virtualization platform logs for repeated virtio request patterns that deviate from normal workloads

The record

The virtqueue_pop function in hw/virtio/virtio.c in QEMU allows local guest OS administrators to cause a denial of service (memory consumption and QEMU process crash) by submitting requests without waiting for completion.

Affected packages

Ecosystem Package Introduced Fixed
Alpine:v3.10 xen 0 4.7.0-r0
Alpine:v3.11 xen 0 4.7.0-r0
Alpine:v3.12 xen 0 4.7.0-r0
Alpine:v3.13 xen 0 4.7.0-r0
Alpine:v3.14 xen 0 4.7.0-r0
Alpine:v3.15 xen 0 4.7.0-r0
Alpine:v3.16 xen 0 4.7.0-r0
Alpine:v3.17 xen 0 4.7.0-r0
Alpine:v3.18 xen 0 4.7.0-r0
Alpine:v3.19 xen 0 4.7.0-r0
Alpine:v3.20 xen 0 4.7.0-r0
Alpine:v3.21 xen 0 4.7.0-r0
Alpine:v3.22 xen 0 4.7.0-r0
Alpine:v3.4 xen 0 4.6.3-r1
Alpine:v3.5 xen 0 4.7.0-r0
Alpine:v3.6 xen 0 4.7.0-r0
Alpine:v3.7 xen 0 4.7.0-r0
Alpine:v3.8 xen 0 4.7.0-r0
Alpine:v3.9 xen 0 4.7.0-r0
Debian:11 qemu 0 1:2.6+dfsg-3.1
Debian:12 qemu 0 1:2.6+dfsg-3.1
Debian:13 qemu 0 1:2.6+dfsg-3.1
Debian:7 qemu 0 1.1.2+dfsg-6+deb7u14
Debian:7 qemu-kvm 0 1.1.2+dfsg-6+deb7u14
Debian:8 qemu 0 1:2.1+dfsg-12+deb8u12
Mageia:5 xen 0 4.5.5-1.1.mga5
Red Hat:enterprise_linux:6::client qemu-guest-agent 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::client qemu-img 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::client qemu-kvm 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::client qemu-kvm-debuginfo 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::client qemu-kvm-tools 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::computenode qemu-guest-agent 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::computenode qemu-img 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::computenode qemu-kvm 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::computenode qemu-kvm-debuginfo 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::computenode qemu-kvm-tools 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::hypervisor qemu-img-rhev 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::hypervisor qemu-kvm-rhev 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::hypervisor qemu-kvm-rhev-debuginfo 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::hypervisor qemu-kvm-rhev-tools 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::server qemu-guest-agent 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::server qemu-img 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::server qemu-kvm 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::server qemu-kvm-debuginfo 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::server qemu-kvm-tools 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::workstation qemu-guest-agent 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::workstation qemu-img 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::workstation qemu-kvm 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::workstation qemu-kvm-debuginfo 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:6::workstation qemu-kvm-tools 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:enterprise_linux:7::client libcacard 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::client libcacard-devel 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::client libcacard-tools 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::client qemu-img 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::client qemu-kvm 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::client qemu-kvm-common 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::client qemu-kvm-debuginfo 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::client qemu-kvm-tools 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::computenode libcacard 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::computenode libcacard-devel 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::computenode libcacard-tools 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::computenode qemu-img 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::computenode qemu-kvm 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::computenode qemu-kvm-common 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::computenode qemu-kvm-debuginfo 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::computenode qemu-kvm-tools 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::hypervisor libcacard-devel-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:enterprise_linux:7::hypervisor libcacard-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:enterprise_linux:7::hypervisor libcacard-tools-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:enterprise_linux:7::hypervisor qemu-img-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:enterprise_linux:7::hypervisor qemu-kvm-common-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:enterprise_linux:7::hypervisor qemu-kvm-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:enterprise_linux:7::hypervisor qemu-kvm-rhev-debuginfo 0 10:2.3.0-31.el7_2.21
Red Hat:enterprise_linux:7::hypervisor qemu-kvm-tools-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:enterprise_linux:7::server libcacard 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::server libcacard-devel 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::server libcacard-tools 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::server qemu-img 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::server qemu-kvm 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::server qemu-kvm-common 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::server qemu-kvm-debuginfo 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::server qemu-kvm-tools 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::workstation libcacard 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::workstation libcacard-devel 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::workstation libcacard-tools 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::workstation qemu-img 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::workstation qemu-kvm 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::workstation qemu-kvm-common 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::workstation qemu-kvm-debuginfo 0 10:1.5.3-105.el7_2.7
Red Hat:enterprise_linux:7::workstation qemu-kvm-tools 0 10:1.5.3-105.el7_2.7
Red Hat:openstack:5::el6 qemu-img-rhev 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:openstack:5::el6 qemu-kvm-rhev 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:openstack:5::el6 qemu-kvm-rhev-debuginfo 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:openstack:5::el6 qemu-kvm-rhev-tools 0 2:0.12.1.2-2.491.el6_8.3
Red Hat:openstack:5::el7 libcacard-devel-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:5::el7 libcacard-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:5::el7 libcacard-tools-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:5::el7 qemu-img-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:5::el7 qemu-kvm-common-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:5::el7 qemu-kvm-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:5::el7 qemu-kvm-rhev-debuginfo 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:5::el7 qemu-kvm-tools-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:6::el7 libcacard-devel-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:6::el7 libcacard-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:6::el7 libcacard-tools-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:6::el7 qemu-img-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:6::el7 qemu-kvm-common-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:6::el7 qemu-kvm-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:6::el7 qemu-kvm-rhev-debuginfo 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:6::el7 qemu-kvm-tools-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:7::el7 libcacard-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:7::el7 libcacard-tools-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:7::el7 qemu-img-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:7::el7 qemu-kvm-common-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:7::el7 qemu-kvm-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:7::el7 qemu-kvm-rhev-debuginfo 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:7::el7 qemu-kvm-tools-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:8::el7 libcacard-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:8::el7 libcacard-tools-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:8::el7 qemu-img-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:8::el7 qemu-kvm-common-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:8::el7 qemu-kvm-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:8::el7 qemu-kvm-rhev-debuginfo 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:8::el7 qemu-kvm-tools-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:9::el7 libcacard-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:9::el7 libcacard-tools-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:9::el7 qemu-img-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:9::el7 qemu-kvm-common-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:9::el7 qemu-kvm-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:9::el7 qemu-kvm-rhev-debuginfo 0 10:2.3.0-31.el7_2.21
Red Hat:openstack:9::el7 qemu-kvm-tools-rhev 0 10:2.3.0-31.el7_2.21
Red Hat:rhel_virtualization:5::client kmod-kvm 0 0:83-276.el5_11
Red Hat:rhel_virtualization:5::client kmod-kvm-debug 0 0:83-276.el5_11
Red Hat:rhel_virtualization:5::client kvm 0 0:83-276.el5_11
Red Hat:rhel_virtualization:5::client kvm-debuginfo 0 0:83-276.el5_11
Red Hat:rhel_virtualization:5::client kvm-qemu-img 0 0:83-276.el5_11
Red Hat:rhel_virtualization:5::client kvm-tools 0 0:83-276.el5_11
Red Hat:rhel_virtualization:5::server kmod-kvm 0 0:83-276.el5_11
Red Hat:rhel_virtualization:5::server kmod-kvm-debug 0 0:83-276.el5_11
Red Hat:rhel_virtualization:5::server kvm 0 0:83-276.el5_11
Red Hat:rhel_virtualization:5::server kvm-debuginfo 0 0:83-276.el5_11
Red Hat:rhel_virtualization:5::server kvm-qemu-img 0 0:83-276.el5_11
Red Hat:rhel_virtualization:5::server kvm-tools 0 0:83-276.el5_11
SUSE:Linux Enterprise Desktop 12 SP1 qemu 0 2.3.1-21.1
SUSE:Linux Enterprise Desktop 12 SP1 xen 0 4.5.3_08-17.1
SUSE:Linux Enterprise Point of Sale 11 SP3 xen 0 4.2.5_21-27.1
SUSE:Linux Enterprise Server 11 SP3-LTSS xen 0 4.2.5_21-27.1
SUSE:Linux Enterprise Server 11 SP4 kvm 0 1.4.2-47.1
SUSE:Linux Enterprise Server 11 SP4 xen 0 4.4.4_07-37.1
SUSE:Linux Enterprise Server 12 SP1 qemu 0 2.3.1-21.1
SUSE:Linux Enterprise Server 12 SP1 xen 0 4.5.3_08-17.1
SUSE:Linux Enterprise Server 12-LTSS qemu 0 2.0.2-48.22.1
SUSE:Linux Enterprise Server 12-LTSS xen 0 4.4.4_04-22.22.2
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kvm 0 1.4.2-47.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 xen 0 4.4.4_07-37.1
SUSE:Linux Enterprise Server for SAP Applications 12 qemu 0 2.0.2-48.22.1
SUSE:Linux Enterprise Server for SAP Applications 12 xen 0 4.4.4_04-22.22.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 qemu 0 2.3.1-21.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 xen 0 4.5.3_08-17.1
SUSE:Linux Enterprise Software Development Kit 11 SP4 xen 0 4.4.4_07-37.1
SUSE:Linux Enterprise Software Development Kit 12 SP1 xen 0 4.5.3_08-17.1
SUSE:Manager 2.1 xen 0 4.2.5_21-27.1
SUSE:Manager Proxy 2.1 xen 0 4.2.5_21-27.1
SUSE:OpenStack Cloud 5 xen 0 4.2.5_21-27.1
Ubuntu:14.04:LTS qemu 0 2.0.0+dfsg-2ubuntu1.30
Ubuntu:14.04:LTS qemu 0 2.0.0+dfsg-2ubuntu1.26
Ubuntu:14.04:LTS xen 0 4.4.2-0ubuntu0.14.04.7
Ubuntu:16.04:LTS qemu 0 1:2.5+dfsg-5ubuntu10.6
Ubuntu:16.04:LTS qemu 0 1:2.5+dfsg-5ubuntu10.3
openSUSE:Tumbleweed qemu 0 2.6.1-1.5

Related vulnerabilities