CVE-2014-9718
NoneCVSS
—
EPSS
0.4%
Published
Apr 21, 2015
CISA due date
—
Cloudanix analysis
Older virtualization software contained a bug that let a program inside one virtual machine freeze or crash the entire computer it was running on.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw stems from inconsistent return-value handling in bmdma_prepare_buf and ahci_dma_prepare_buf, allowing a guest-supplied PRDT with zero complete sectors to trigger unbounded memory allocation or infinite loops inside the host QEMU process.
Why it matters to the business
A compromised or malicious guest can render the host unavailable, disrupting all VMs on that host; the issue is confined to long-obsolete QEMU releases and carries negligible current risk.
How an attack unfolds
An attacker who already controls a guest VM constructs a PRDT descriptor list indicating zero sectors, then initiates a BMDMA or AHCI transfer; the host DMA-preparation routines misinterpret the return value, loop or allocate excessively, and crash the QEMU process.
How to fix it
Upgrade QEMU to any release after 2.1.3. Organizations using the Chainguard dynamic-localpv-provisioner-fips package must move to version 3.5.0-r0 or newer.
How to confirm the fix worked
Confirm the running QEMU binary reports a version greater than 2.1.3; re-execute any available DMA-preparation unit tests with a zero-sector PRDT to verify the crash path is closed.
Typical attack path
- Obtain code execution inside a guest VM
- Allocate and populate a PRDT structure with zero complete sectors
- Issue an IDE DMA command through BMDMA or AHCI registers
- Trigger the flawed prepare_buf path and exhaust host resources
How to detect it
Correlate guest-initiated IDE DMA commands with sudden QEMU memory growth or CPU spin; examine process accounting and hypervisor logs for repeated bmdma_prepare_buf or ahci_dma_prepare_buf calls that never complete.
What your security team should do
- Inventory all hosts running QEMU <= 2.1.3 and schedule immediate upgrades
- Apply the Chainguard package update to 3.5.0-r0 where that build is deployed
- Harden guest isolation and limit DMA exposure until patches are applied
The record
The (1) BMDMA and (2) AHCI HBA interfaces in the IDE functionality in QEMU 1.0 through 2.1.3 have multiple interpretations of a function's return value, which allows guest OS users to cause a host OS denial of service (memory consumption or infinite loop, and system crash) via a PRDT with zero complete sectors, related to the bmdma_prepare_buf and ahci_dma_prepare_buf functions.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | qemu | 0 | 1:2.3+dfsg-1 |
| 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 |
| SUSE:Linux Enterprise Desktop 11 SP4 | xen | 0 | 4.4.4_02-32.1 |
| SUSE:Linux Enterprise Desktop 12 | qemu | 0 | 2.0.2-48.19.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 Server 11 SP3-LTSS | kvm | 0 | 1.4.2-46.1 |
| SUSE:Linux Enterprise Server 11 SP3-LTSS | xen | 0 | 4.2.5_20-24.9 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | kvm | 0 | 1.4.2-46.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kvm | 0 | 1.4.2-44.1 |
| SUSE:Linux Enterprise Server 11 SP4 | xen | 0 | 4.4.4_02-32.1 |
| SUSE:Linux Enterprise Server 12 | qemu | 0 | 2.0.2-48.19.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 | kvm | 0 | 1.4.2-44.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-48.19.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.17 |
Related vulnerabilities
- CVE-2022-1050 A flaw was found in the QEMU implementation of VMWare's paravirtual RDMA device. Also affects qemu
- CVE-2016-10028 The virgl_cmd_get_capset function in hw/display/virtio-gpu-3d.c in QEMU (aka Quick… Also affects qemu
- CVE-2014-7840 The host_from_stream_offset function in arch_init.c in QEMU, when loading RAM during… Also affects qemu
- CVE-2013-4148 Integer signedness error in the virtio_net_load function in hw/net/virtio-net.c in QEMU… Also affects qemu
- 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