CVE-2015-1779
High · 8.6CVSS
8.6
EPSS
6.6%
Published
Jan 12, 2016
CISA due date
—
Cloudanix analysis
Attackers can send specially crafted data over a remote connection to make a virtual machine host run out of memory and processing power, causing it to stop responding.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Trivial
- Impact
- Denial Of Service
- Component
- Application
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The VNC websocket frame decoder in QEMU allows remote attackers to cause a denial of service (memory and CPU consumption) via a large websocket payload or HTTP headers section.
Why it matters to the business
Successful exploitation can disrupt availability of virtualized workloads and management interfaces across a wide range of Linux distributions and enterprise virtualization platforms, leading to unplanned downtime and potential cascading operational impact; the vulnerability remains exploitable in many unpatched environments years after disclosure.
How an attack unfolds
An attacker establishes a connection to an exposed VNC websocket endpoint and transmits oversized websocket frames or HTTP header sections that the decoder processes without sufficient size limits, resulting in rapid exhaustion of memory and CPU resources on the host.
How to fix it
Upgrade QEMU to a patched release that enforces proper bounds checking on websocket frames and HTTP headers; where immediate upgrades are not feasible, restrict network access to VNC ports and consider disabling the websocket listener.
How to confirm the fix worked
Verify that the installed QEMU binary reports a version containing the websocket decoder bounds checks, conduct controlled connection tests with oversized frames to confirm resource usage remains bounded, and review configuration to ensure websocket listeners are not reachable from untrusted networks.
Typical attack path
- Identify and reach an exposed QEMU VNC websocket listener
- Open a websocket handshake and begin sending crafted frames
- Transmit one or more extremely large payloads or header sections
- Trigger unbounded memory allocation and CPU consumption leading to denial of service
How to detect it
Review VNC and websocket access logs for connections that transmit unusually large frames or header sections; correlate with host metrics showing sudden memory or CPU exhaustion on QEMU processes; examine network captures for websocket traffic with oversized payloads.
What your security team should do
- Prioritize patching QEMU on all affected hosts given the long window of exposure and broad product footprint
- Apply network segmentation and firewall rules to prevent external access to VNC websocket ports
- Implement resource limits and monitoring for QEMU processes to detect anomalous memory or CPU spikes
- Audit virtualization management interfaces for unnecessary exposure of VNC services
The record
The VNC websocket frame decoder in QEMU allows remote attackers to cause a denial of service (memory and CPU consumption) via a large (1) websocket payload or (2) HTTP headers section.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | qemu | 0 | 1:2.3+dfsg-1 |
| Debian:12 | qemu | 0 | 1:2.3+dfsg-1 |
| Debian:13 | qemu | 0 | 1:2.3+dfsg-1 |
| Debian:8 | qemu | 0 | 1:2.1+dfsg-12 |
| Mageia:4 | qemu | 0 | 1.6.2-1.9.mga4 |
| Red Hat:enterprise_linux:7::client | libcacard | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::client | libcacard-devel | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::client | libcacard-tools | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::client | qemu-img | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::client | qemu-kvm | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::client | qemu-kvm-common | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::client | qemu-kvm-debuginfo | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::client | qemu-kvm-tools | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::computenode | libcacard | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::computenode | libcacard-devel | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::computenode | libcacard-tools | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::computenode | qemu-img | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::computenode | qemu-kvm | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::computenode | qemu-kvm-common | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::computenode | qemu-kvm-debuginfo | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::computenode | qemu-kvm-tools | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::hypervisor | libcacard-devel-rhev | 0 | 10:2.1.2-23.el7_1.10 |
| Red Hat:enterprise_linux:7::hypervisor | libcacard-rhev | 0 | 10:2.1.2-23.el7_1.10 |
| Red Hat:enterprise_linux:7::hypervisor | libcacard-tools-rhev | 0 | 10:2.1.2-23.el7_1.10 |
| Red Hat:enterprise_linux:7::hypervisor | qemu-img-rhev | 0 | 10:2.1.2-23.el7_1.10 |
| Red Hat:enterprise_linux:7::hypervisor | qemu-kvm-common-rhev | 0 | 10:2.1.2-23.el7_1.10 |
| Red Hat:enterprise_linux:7::hypervisor | qemu-kvm-rhev | 0 | 10:2.1.2-23.el7_1.10 |
| Red Hat:enterprise_linux:7::hypervisor | qemu-kvm-rhev-debuginfo | 0 | 10:2.1.2-23.el7_1.10 |
| Red Hat:enterprise_linux:7::hypervisor | qemu-kvm-tools-rhev | 0 | 10:2.1.2-23.el7_1.10 |
| Red Hat:enterprise_linux:7::server | libcacard | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::server | libcacard-devel | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::server | libcacard-tools | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::server | qemu-img | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::server | qemu-kvm | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::server | qemu-kvm-common | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::server | qemu-kvm-debuginfo | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::server | qemu-kvm-tools | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::workstation | libcacard | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::workstation | libcacard-devel | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::workstation | libcacard-tools | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::workstation | qemu-img | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::workstation | qemu-kvm | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::workstation | qemu-kvm-common | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::workstation | qemu-kvm-debuginfo | 0 | 10:1.5.3-86.el7_1.8 |
| Red Hat:enterprise_linux:7::workstation | qemu-kvm-tools | 0 | 10:1.5.3-86.el7_1.8 |
| SUSE:Linux Enterprise Desktop 11 SP4 | xen | 0 | 4.4.4_02-32.1 |
| SUSE:Linux Enterprise Desktop 12 | qemu | 0 | 2.0.2-46.1 |
| SUSE:Linux Enterprise Desktop 12 | xen | 0 | 4.4.4_02-22.19.1 |
| SUSE:Linux Enterprise Desktop 12 SP1 | xen | 0 | 4.5.2_06-7.1 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | kvm | 0 | 1.4.2-53.38.1 |
| SUSE:Linux Enterprise Server 11 SP4 | xen | 0 | 4.4.4_02-32.1 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | kvm | 0 | 1.4.2-60.34.1 |
| SUSE:Linux Enterprise Server 12 | qemu | 0 | 2.0.2-46.1 |
| SUSE:Linux Enterprise Server 12 | xen | 0 | 4.4.4_02-22.19.1 |
| SUSE:Linux Enterprise Server 12 SP1 | xen | 0 | 4.5.2_06-7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | xen | 0 | 4.4.4_02-32.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | qemu | 0 | 2.0.2-46.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | xen | 0 | 4.4.4_02-22.19.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | xen | 0 | 4.5.2_06-7.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | xen | 0 | 4.4.4_02-32.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | xen | 0 | 4.4.4_02-22.19.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | xen | 0 | 4.5.2_06-7.1 |
| Ubuntu:14.04:LTS | qemu | 0 | 2.0.0+dfsg-2ubuntu1.11 |
| openSUSE:Tumbleweed | xen | 0 | 4.7.0_12-1.3 |
Related vulnerabilities
- CVE-2024-7730 A heap buffer overflow was found in the virtio-snd device in QEMU. Also affects qemu
- CVE-2024-3447 A heap-based buffer overflow was found in the SDHCI device emulation of QEMU. Also affects qemu
- CVE-2024-6519 A use-after-free vulnerability was found in the QEMU LSI53C895A SCSI Host Bus Adapter… Also affects qemu
- CVE-2024-8612 A flaw was found in QEMU, in the virtio-scsi, virtio-blk, and virtio-crypto devices. Also affects qemu
- CVE-2024-8354 A flaw was found in QEMU. Also affects qemu
- CVE-2024-7409 A flaw was found in the QEMU NBD Server. Also affects qemu
- CVE-2024-6505 A flaw was found in the virtio-net device in QEMU. Also affects qemu
- CVE-2024-4467 A flaw was found in the QEMU disk image utility (qemu-img) 'info' command. Also affects qemu