CVE-2014-7840
NoneCVSS
—
EPSS
4.1%
Published
Dec 12, 2014
CISA due date
—
Cloudanix analysis
A flaw in how a virtualization tool handles certain data during system moves lets attackers take over the computer if they can reach the migration process.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The host_from_stream_offset function in QEMU fails to properly validate offset and length values in savevm data during RAM migration, enabling out-of-bounds memory access that leads to arbitrary code execution.
Why it matters to the business
An attacker could take control of systems running vulnerable QEMU-based virtualization, potentially disrupting workloads, accessing sensitive data, or using compromised hosts as a foothold for further attacks; the affected Bitnami-packaged product has a known fixed version available.
How an attack unfolds
An attacker crafts malicious savevm data containing invalid offset or length values, sends it to a QEMU instance performing migration, and triggers the vulnerable function to execute arbitrary code on the target host.
How to fix it
Upgrade the affected Bitnami vault package to version 1.2.5 or later; if migration features are not required, disable them or apply network controls to restrict access to migration ports.
How to confirm the fix worked
Confirm the installed package version is 1.2.5 or newer; test migration with known-good savevm data and verify no crashes or unexpected behavior occur with boundary values.
Typical attack path
- Identify a target running vulnerable QEMU during live migration or snapshot restore.
- Craft savevm data with manipulated offset or length fields.
- Deliver the malicious data to the migration stream.
- Trigger the host_from_stream_offset function to cause memory corruption and gain code execution.
How to detect it
Examine QEMU process logs and migration-related error messages for unexpected crashes or invalid offset/length handling; review network traffic to migration ports for anomalous savevm payloads.
What your security team should do
- Immediately upgrade all instances of the affected product to the fixed version 1.2.5.
- Review and restrict network access to QEMU migration endpoints.
- Monitor for any remaining older deployments and schedule decommissioning or patching.
The record
The host_from_stream_offset function in arch_init.c in QEMU, when loading RAM during migration, allows remote attackers to execute arbitrary code via a crafted (1) offset or (2) length value in savevm data.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | qemu | 0 | 2.1+dfsg-8 |
| Debian:11 | qemu | 0 | 2.1+dfsg-8 |
| Debian:12 | qemu | 0 | 2.1+dfsg-8 |
| Debian:13 | qemu | 0 | 2.1+dfsg-8 |
| Mageia:4 | qemu | 0 | 1.6.2-1.7.mga4 |
| Red Hat:enterprise_linux:7::client | libcacard | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::client | libcacard-devel | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::client | libcacard-tools | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::client | qemu-img | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::client | qemu-kvm | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::client | qemu-kvm-common | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::client | qemu-kvm-debuginfo | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::client | qemu-kvm-tools | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::computenode | libcacard | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::computenode | libcacard-devel | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::computenode | libcacard-tools | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::computenode | qemu-img | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::computenode | qemu-kvm | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::computenode | qemu-kvm-common | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::computenode | qemu-kvm-debuginfo | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::computenode | qemu-kvm-tools | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::hypervisor | libcacard-devel-rhev | 0 | 10:2.1.2-23.el7 |
| Red Hat:enterprise_linux:7::hypervisor | libcacard-rhev | 0 | 10:2.1.2-23.el7 |
| Red Hat:enterprise_linux:7::hypervisor | libcacard-tools-rhev | 0 | 10:2.1.2-23.el7 |
| Red Hat:enterprise_linux:7::hypervisor | qemu-img-rhev | 0 | 10:2.1.2-23.el7 |
| Red Hat:enterprise_linux:7::hypervisor | qemu-kvm-common-rhev | 0 | 10:2.1.2-23.el7 |
| Red Hat:enterprise_linux:7::hypervisor | qemu-kvm-rhev | 0 | 10:2.1.2-23.el7 |
| Red Hat:enterprise_linux:7::hypervisor | qemu-kvm-rhev-debuginfo | 0 | 10:2.1.2-23.el7 |
| Red Hat:enterprise_linux:7::hypervisor | qemu-kvm-tools-rhev | 0 | 10:2.1.2-23.el7 |
| Red Hat:enterprise_linux:7::server | libcacard | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::server | libcacard-devel | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::server | libcacard-tools | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::server | qemu-img | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::server | qemu-kvm | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::server | qemu-kvm-common | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::server | qemu-kvm-debuginfo | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::server | qemu-kvm-tools | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::workstation | libcacard | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::workstation | libcacard-devel | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::workstation | libcacard-tools | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::workstation | qemu-img | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::workstation | qemu-kvm | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::workstation | qemu-kvm-common | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::workstation | qemu-kvm-debuginfo | 0 | 10:1.5.3-86.el7 |
| Red Hat:enterprise_linux:7::workstation | qemu-kvm-tools | 0 | 10:1.5.3-86.el7 |
| SUSE:Linux Enterprise Desktop 12 | qemu | 0 | 2.0.2-42.1 |
| SUSE:Linux Enterprise Server 12 | qemu | 0 | 2.0.2-42.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | qemu | 0 | 2.0.2-42.1 |
| Ubuntu:14.04:LTS | qemu | 0 | 2.0.0+dfsg-2ubuntu1.9 |
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-9718 The (1) BMDMA and (2) AHCI HBA interfaces in the IDE functionality in QEMU 1.0 through… 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