Michael S. Tsirkin writes:
There are two issues in hw/pci/pcie_aer.c:
1. log_max from remote can be larger than on local then buffer will
overrun with data coming from state file.
2. log_num can be larger then we get data corrution again with an
overflow but not adversary controlled.
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.
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 1095713]
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.
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