Michael S. Tsirkin writes: QEMU 1.3.0 out-of-bounds buffer write in virtio_net_load()@hw/net/virtio-net.c > } else if (n->mac_table.in_use) { > uint8_t *buf = g_malloc0(n->mac_table.in_use); We are allocating buffer of size n->mac_table.in_use > qemu_get_buffer(f, buf, n->mac_table.in_use * ETH_ALEN); and read to the n->mac_table.in_use size buffer n->mac_table.in_use * ETH_ALEN bytes, corrupting memory. 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. Upstream fix: ------------- -> http://git.qemu.org/?p=qemu.git;a=commit;h=98f93ddd84800f207889491e0b5d851386b459cf
Statement: This issue does not affect the versions of kvm package as shipped with Red Hat Enterprise Linux 5. This issue does not affect the versions of qemu-kvm package as shipped with Red Hat Enterprise Linux 6.
Created qemu tracking bugs for this issue: Affects: fedora-all [bug 1095683]
qemu-1.6.2-5.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
Acknowledgements: The issues were discovered as part of the state loading code audit performed by Michael S. Tsirkin of Red Hat, Anthony Liguori and Michael Roth.
This issue has been addressed in following products: Red Hat Enterprise Linux 7 Via RHSA-2014:0927 https://rhn.redhat.com/errata/RHSA-2014-0927.html
This issue has been addressed in the following products: OpenStack 5 for RHEL 7 Via RHSA-2014:1268 https://rhn.redhat.com/errata/RHSA-2014-1268.html