The QEMU Guest Agent in QEMU is vulnerable to an integer overflow in the qmp_guest_file_read(). An attacker could exploit this by sending a crafted QMP command (including guest-file-read with a large count value) to the agent via the listening socket to trigger a g_malloc() call with a large memory chunk resulting in a segmentation fault. A user could use this flaw to crash the QEMU guest agent process resulting in DoS. Upstream Patch: --------------- -> https://git.qemu.org/?p=qemu.git;a=commit;h=141b197408ab398c4f474ac1a728ab316e921f2b References: ----------- -> https://www.openwall.com/lists/oss-security/2018/10/17/4 -> https://gist.github.com/fakhrizulkifli/c7740d28efa07dafee66d4da5d857ef6
Created qemu tracking bugs for this issue: Affects: fedora-all [bug 1594055]
The builds of qemu-kvm-rhev used by OpenStack do not have building of the guest agent enabled. Therefore the vulnerable code is not built and shipper to customers.
Acknowledgments: Name: Fakhri Zulkifli
This issue is fixed by upstream commits 5d3586b834..1329651fb4: - 1329651fb4 qga: Restrict guest-file-read count to 48 MB to avoid crashes - ead83a136d qga: Extract qmp_guest_file_read() to common commands.c - 5d3586b834 qga: Extract guest_file_handle_find() to commands-common.h
This issue is fixed by upstream commits 5d3586b834..1329651fb4: - 5d3586b834 qga: Extract guest_file_handle_find() to commands-common.h - ead83a136d qga: Extract qmp_guest_file_read() to common commands.c - 1329651fb4 qga: Restrict guest-file-read count to 48 MB to avoid crashes