CVE-2015-3209
NoneCVSS
—
EPSS
9.7%
Published
Jun 15, 2015
CISA due date
—
Cloudanix analysis
A flaw in virtual machine software could let attackers run their own programs on systems that use it, risking loss of control over virtual servers.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Heap-based buffer overflow in the PCNET controller emulation allows remote attackers to execute arbitrary code via specially crafted network packets that set TXSTATUS_STARTPACKET followed by TXSTATUS_DEVICEOWNS.
Why it matters to the business
Attackers can gain control of virtualized workloads across numerous Linux distributions and enterprise platforms, potentially leading to data theft, ransomware deployment, or widespread service outages in environments relying on QEMU-based virtualization.
How an attack unfolds
An attacker with network access to a vulnerable QEMU instance sends a packet marked with TXSTATUS_STARTPACKET, followed by a second crafted packet with TXSTATUS_DEVICEOWNS set, triggering the heap overflow and arbitrary code execution inside the emulator process.
How to fix it
Apply vendor-supplied patches for QEMU and downstream products such as Red Hat Enterprise Linux, Ubuntu, Debian, SUSE, and Fedora; disable PCNET emulation where not required; isolate management interfaces; and upgrade to fixed versions provided by each distribution.
How to confirm the fix worked
Verify QEMU version against patched releases from affected vendors; test PCNET emulation with known-safe packet sequences; review hypervisor logs for crash signatures related to pcnet; and confirm absence of the vulnerable code paths in running binaries.
Typical attack path
- Identify exposed QEMU instances with PCNET emulation enabled
- Send initial packet with TXSTATUS_STARTPACKET flag
- Transmit second crafted packet containing TXSTATUS_DEVICEOWNS and oversized payload
- Trigger heap corruption to overwrite control structures
- Execute arbitrary code within the QEMU process context
How to detect it
Inspect hypervisor and guest network logs for repeated PCNET packet sequences containing the TXSTATUS flags; correlate QEMU process crashes or high CPU with inbound traffic on emulated interfaces; search for indicators of heap corruption in core dumps or system logs.
- TXSTATUS_STARTPACKET
- TXSTATUS_DEVICEOWNS
- pcnet_transmit
- qemu-system.*pcnet
What your security team should do
- Prioritize patching of all QEMU instances given the 2015 disclosure and broad product exposure
- Disable unused PCNET controllers in VM configurations
- Implement network segmentation to limit exposure of virtualization hosts
- Monitor EPSS trend and update threat models if exploit code emerges
- Conduct inventory of downstream dependents in OpenStack and Red Hat Virtualization deployments
The record
Heap-based buffer overflow in the PCNET controller in QEMU allows remote attackers to execute arbitrary code by sending a packet with TXSTATUS_STARTPACKET set and then a crafted packet with TXSTATUS_DEVICEOWNS set.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | qemu | 0 | 1:2.3+dfsg-6 |
| Debian:11 | xen | 0 | 4.4.0-1 |
| Debian:12 | qemu | 0 | 1:2.3+dfsg-6 |
| Debian:12 | xen | 0 | 4.4.0-1 |
| Debian:13 | qemu | 0 | 1:2.3+dfsg-6 |
| Debian:13 | xen | 0 | 4.4.0-1 |
| Debian:7 | qemu-kvm | 0 | 1.1.2+dfsg-6+deb7u8 |
| Debian:7 | xen | 0 | 4.1.4-3+deb7u8 |
| Debian:8 | qemu | 0 | 1:2.1+dfsg-12+deb8u1 |
| Debian:8 | xen | 0 | 4.4.1-9+deb8u1 |
| Mageia:4 | qemu | 0 | 1.6.2-1.12.mga4 |
| Mageia:5 | qemu | 0 | 2.1.3-2.3.mga5 |
| Mageia:5 | xen | 0 | 4.5.2-1.5.mga5 |
| Red Hat:enterprise_linux:6::client | qemu-guest-agent | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::client | qemu-img | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::client | qemu-kvm | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::client | qemu-kvm-debuginfo | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::client | qemu-kvm-tools | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::computenode | qemu-guest-agent | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::computenode | qemu-img | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::computenode | qemu-kvm | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::computenode | qemu-kvm-debuginfo | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::computenode | qemu-kvm-tools | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::hypervisor | qemu-img-rhev | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::hypervisor | qemu-kvm-rhev | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::hypervisor | qemu-kvm-rhev-debuginfo | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::hypervisor | qemu-kvm-rhev-tools | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::server | qemu-guest-agent | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::server | qemu-img | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::server | qemu-kvm | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::server | qemu-kvm-debuginfo | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::server | qemu-kvm-tools | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::workstation | qemu-guest-agent | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::workstation | qemu-img | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::workstation | qemu-kvm | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::workstation | qemu-kvm-debuginfo | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:enterprise_linux:6::workstation | qemu-kvm-tools | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:openstack:5::el6 | qemu-img-rhev | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:openstack:5::el6 | qemu-kvm-rhev | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:openstack:5::el6 | qemu-kvm-rhev-debuginfo | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:openstack:5::el6 | qemu-kvm-rhev-tools | 0 | 2:0.12.1.2-2.448.el6_6.4 |
| Red Hat:rhel_virtualization:5::client | kmod-kvm | 0 | 0:83-273.el5_11 |
| Red Hat:rhel_virtualization:5::client | kmod-kvm-debug | 0 | 0:83-273.el5_11 |
| Red Hat:rhel_virtualization:5::client | kvm | 0 | 0:83-273.el5_11 |
| Red Hat:rhel_virtualization:5::client | kvm-debuginfo | 0 | 0:83-273.el5_11 |
| Red Hat:rhel_virtualization:5::client | kvm-qemu-img | 0 | 0:83-273.el5_11 |
| Red Hat:rhel_virtualization:5::client | kvm-tools | 0 | 0:83-273.el5_11 |
| Red Hat:rhel_virtualization:5::server | kmod-kvm | 0 | 0:83-273.el5_11 |
| Red Hat:rhel_virtualization:5::server | kmod-kvm-debug | 0 | 0:83-273.el5_11 |
| Red Hat:rhel_virtualization:5::server | kvm | 0 | 0:83-273.el5_11 |
| Red Hat:rhel_virtualization:5::server | kvm-debuginfo | 0 | 0:83-273.el5_11 |
| Red Hat:rhel_virtualization:5::server | kvm-qemu-img | 0 | 0:83-273.el5_11 |
| Red Hat:rhel_virtualization:5::server | kvm-tools | 0 | 0:83-273.el5_11 |
| SUSE:Linux Enterprise Desktop 12 | qemu | 0 | 2.0.2-48.4.1 |
| SUSE:Linux Enterprise Desktop 12 | xen | 0 | 4.4.2_06-21.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kvm | 0 | 0.15.1-0.32.2 |
| SUSE:Linux Enterprise Server 12 | qemu | 0 | 2.0.2-48.4.1 |
| SUSE:Linux Enterprise Server 12 | xen | 0 | 4.4.2_06-21.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | qemu | 0 | 2.0.2-48.4.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | xen | 0 | 4.4.2_06-21.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | xen | 0 | 4.4.2_06-21.1 |
| Ubuntu:14.04:LTS | qemu | 0 | 2.0.0+dfsg-2ubuntu1.13 |
| Ubuntu:14.04:LTS | xen | 0 | 4.4.2-0ubuntu0.14.04.2 |
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