Hide Forgot
Michael S. Tsirkin writes: QEMU 1.0 integer conversion in virtio_net_load()@hw/net/virtio-net.c > n->mac_table.in_use = qemu_get_be32(f); in_use is int so it can get negative when assigned 32bit unsigned value. > /* MAC_TABLE_ENTRIES may be different from the saved image */ > if (n->mac_table.in_use <= MAC_TABLE_ENTRIES) { passing this check ^^^ > qemu_get_buffer(f, n->mac_table.macs, > n->mac_table.in_use * ETH_ALEN); with good in_use value, "n->mac_table.in_use * ETH_ALEN" can get positive and bigger than mac_table.macs. For example 0x81000000 satisfies this condition when ETH_ALEN is 6. 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=71f7fe48e10a8437c9d42d859389f37157f59980
Statement: This issue does not affect the versions of kvm package as shipped with Red Hat Enterprise Linux 5.
Created qemu tracking bugs for this issue: Affects: fedora-all [bug 1095676]
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.
This issue has been addressed in following products: RHEV-H and Agents for RHEL-6 Via RHSA-2014:0674 https://rhn.redhat.com/errata/RHSA-2014-0674.html
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: RHEV-H and Agents for RHEL-6 Via RHSA-2014:0744 https://rhn.redhat.com/errata/RHSA-2014-0744.html
This issue has been addressed in following products: Red Hat Enterprise Linux 6 Via RHSA-2014:0743 https://rhn.redhat.com/errata/RHSA-2014-0743.html
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 following products: OpenStack 4 for RHEL 6 OpenStack 3 for RHEL 6 Via RHSA-2014:0888 https://rhn.redhat.com/errata/RHSA-2014-0888.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