Fabrice Bellard QEMU 1.7.0 hw/virtio/virtio.c virtqueue_map_sg num_sg memory corruption
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.0 | $0-$5k | 0.00 |
Summary
A vulnerability was found in Fabrice Bellard QEMU 1.7.0. It has been declared as problematic. Affected by this issue is the function virtqueue_map_sg of the file hw/virtio/virtio.c. The manipulation of the argument num_sg results in memory corruption.
This vulnerability was named CVE-2013-4536. There is no available exploit.
It is best practice to apply a patch to resolve this issue.
Details
A vulnerability, which was classified as problematic, was found in Fabrice Bellard QEMU 1.7.0 (Virtualization Software). Affected is the function virtqueue_map_sg of the file hw/virtio/virtio.c. The manipulation of the argument num_sg with an unknown input leads to a memory corruption vulnerability. CWE is classifying the issue as CWE-119. The product performs operations on a memory buffer, but it can read from or write to a memory location that is outside of the intended boundary of the buffer. This is going to have an impact on confidentiality, integrity, and availability.
The weakness was presented 02/18/2014 by Petr Matousek as Bug 1066401 as confirmed bug report (Bugzilla). The advisory is available at bugzilla.redhat.com. This vulnerability is traded as CVE-2013-4536 since 06/12/2013. The exploitability is told to be easy. Local access is required to approach this attack. The exploitation doesn't require any form of authentication. Technical details are known, but there is no available exploit. The advisory points out:
Both virtio-block and virtio-serial read, VirtQueueElements are read in as buffers, and passed to virtqueue_map_sg(), where num_sg is taken from the wire and can force writes to indicies beyond VIRTQUEUE_MAX_SIZE. An user able to alter the savevm data (either on the disk or over the wire during migration) could use this flaw to to corrupt QEMU process memory on the (destination) host, which could potentially result in arbitrary code execution on the host with the privileges of the QEMU process.
The vulnerability scanner Nessus provides a plugin with the ID 74047 (Fedora 20 : qemu-1.6.2-5.fc20 (2014-6288)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Fedora Local Security Checks. The commercial vulnerability scanner Qualys is able to test this issue with plugin 195610 (Ubuntu Security Notification for Qemu, Qemu-kvm Vulnerabilities (USN-2342-1)).
Applying a patch is able to eliminate this problem. The bugfix is ready for download at git.qemu.org. A possible mitigation has been published immediately after the disclosure of the vulnerability.
The vulnerability is also documented in the databases at X-Force (93235), Tenable (74047), SecurityFocus (BID 67483†), OSVDB (106026†) and Vulnerability Center (SBV-45704†). See VDB-13023, VDB-13254, VDB-13266 and VDB-13267 for similar entries. VulDB is the best source for vulnerability data and more expert information about this specific topic.
Not Affected
- Red Hat Enterprise Linux 5/6
Product
Type
Vendor
Name
Version
License
Website
- Vendor: https://bellard.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 6.8VulDB Meta Temp Score: 6.5
VulDB Base Score: 5.9
VulDB Temp Score: 5.2
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 7.8
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Memory corruptionCWE: CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physical: Partially
Local: Yes
Remote: No
Availability: 🔍
Status: Unproven
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 74047
Nessus Name: Fedora 20 : qemu-1.6.2-5.fc20 (2014-6288)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
OpenVAS ID: 80056
OpenVAS Name: Oracle Linux Local Check: ELSA-2014-0927
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: PatchStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Patch: git.qemu.org
Timeline
06/12/2013 🔍02/18/2014 🔍
02/18/2014 🔍
05/19/2014 🔍
05/19/2014 🔍
05/22/2014 🔍
08/07/2014 🔍
06/20/2021 🔍
Sources
Vendor: bellard.orgAdvisory: Bug 1066401
Researcher: Petr Matousek
Status: Confirmed
CVE: CVE-2013-4536 (🔍)
GCVE (CVE): GCVE-0-2013-4536
GCVE (VulDB): GCVE-100-13278
OVAL: 🔍
X-Force: 93235 - QEMU virtio.c code execution, Medium Risk
SecurityFocus: 67483 - QEMU Multiple Memory Corruption Vulnerabilities
OSVDB: 106026
Vulnerability Center: 45704 - Qemu <1.6.2 Local Code Execution and DoS due to Insufficient Validation of num_sg when Mapping in Virtio - CVE-2013-4536, Low
See also: 🔍
Entry
Created: 05/22/2014 12:03Updated: 06/20/2021 08:18
Changes: 05/22/2014 12:03 (73), 06/03/2017 07:51 (4), 06/20/2021 08:13 (2), 06/20/2021 08:15 (18), 06/20/2021 08:18 (1)
Complete: 🔍
Cache ID: 216:892:103
No comments yet. Languages: en.
Please log in to comment.