Cloudanix VulnDB

CVE-2016-10028

Medium · 5.5

CVSS

5.5

EPSS

0.4%

Published

Feb 27, 2017

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in how virtual graphics hardware is handled lets someone inside a virtual machine crash the supporting process and disrupt related services.

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

What it actually does

The flaw in the Virtio GPU emulator allows a local guest OS user to trigger an out-of-bounds read and process crash by issuing a VIRTIO_GPU_CMD_GET_CAPSET command with a capabilities size value of 0.

Why it matters to the business

Successful exploitation results in denial of service that can interrupt virtualized workloads and messaging services built on the affected RabbitMQ topology operator packages, with low but persistent risk given the stable low exploit probability over years since disclosure.

How an attack unfolds

An attacker who has obtained local access inside a guest virtual machine constructs and sends a VIRTIO_GPU_CMD_GET_CAPSET command specifying a maximum capabilities size of zero, causing the emulator code in hw/display/virtio-gpu-3d.c to perform an out-of-bounds read that crashes the QEMU process.

How to fix it

Upgrade rabbitmq-messaging-topology-operator and rabbitmq-messaging-topology-operator-compat packages on both Chainguard and Wolfi to version 1.14.1-r2 or later.

How to confirm the fix worked

Confirm installed package versions match or exceed the listed fixed releases and verify that the vulnerable code path in virtio-gpu-3d.c is no longer present after the update.

Typical attack path

  1. Obtain local access inside a guest virtual machine
  2. Issue VIRTIO_GPU_CMD_GET_CAPSET command with capabilities size set to zero
  3. Trigger out-of-bounds read leading to process crash

How to detect it

Inspect QEMU or virtio-gpu process crash logs and look for repeated VIRTIO_GPU_CMD_GET_CAPSET commands originating from guest operating systems.

What your security team should do

  • Apply the listed package upgrades to 1.14.1-r2 across all environments without delay
  • Review virtual machine configurations to limit exposure of Virtio GPU devices where feasible
  • Monitor guest-initiated GPU capability queries in virtualization logs

The record

The virgl_cmd_get_capset function in hw/display/virtio-gpu-3d.c in QEMU (aka Quick Emulator) built with Virtio GPU Device emulator support allows local guest OS users to cause a denial of service (out-of-bounds read and process crash) via a VIRTIO_GPU_CMD_GET_CAPSET command with a maximum capabilities size with a value of 0.

Affected packages

Ecosystem Package Introduced Fixed
Debian:10 qemu 0 1:2.10.0-1
Debian:11 qemu 0 1:2.10.0-1
Debian:12 qemu 0 1:2.10.0-1
Debian:13 qemu 0 1:2.10.0-1
SUSE:Linux Enterprise Desktop 12 SP2 qemu 0 2.6.2-41.9.1
SUSE:Linux Enterprise Desktop 12 SP2 qemu 0 2.6.2-41.16.1
SUSE:Linux Enterprise Server 12 SP2 qemu 0 2.6.2-41.9.1
SUSE:Linux Enterprise Server 12 SP2 qemu 0 2.6.2-41.16.1
SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 qemu 0 2.6.2-41.9.1
SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 qemu 0 2.6.2-41.16.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 qemu 0 2.6.2-41.9.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 qemu 0 2.6.2-41.16.1
Ubuntu:14.04:LTS qemu 0 2.0.0+dfsg-2ubuntu1.33
Ubuntu:16.04:LTS qemu 0 1:2.5+dfsg-5ubuntu10.11
openSUSE:Tumbleweed qemu 0 6.1.0-32.1

Related vulnerabilities