Logic is in place to avoid writes to certain host config space fields when the guest must nevertheless be able to access their virtual counterparts. A bug in how this logic deals with accesses spanning multiple fields allows the guest to write to the host MSI message data field.
While generally the writes write back the values previously read, their value in config space may have got changed by the host between the qemu read and write. In such a case host side interrupt handling could become confused, possibly losing interrupts or allowing spurious interrupt injection into other guests.
Certain untrusted guest administrators may be able to confuse host side interrupt handling, leading to a Denial of Service.
Xen versions 3.3 and onwards are vulnerable due to supporting PCI pass-through.
Only x86 systems are vulnerable. ARM systems are not vulnerable.
Only HVM guests with their device model run in Dom0 can take advantage of this vulnerability.
Only HVM guests which have been granted access to physical PCI devices (`PCI passthrough') can take advantage of this vulnerability.
Furthermore, the vulnerability is only applicable when the passed-through PCI devices are MSI-capable. (Most modern devices are.)
This issue can be avoided by not assigning MSI capable PCI devices to untrusted HVM guests.
This issue can also be avoided by only using PV guests.
It can also be avoided by configuring HVM guests with their device model run in a separate (stub) domain. (When using xl, this can be requested with "device_model_stubdomain_override=1" in the domain configuration file.)
Red Hat would like to thank the Xen project for reporting this issue.
Created attachment 1028232 [details]
Created attachment 1028233 [details]
Created attachment 1028234 [details]
This issue does affect then Xen packages as shipped with Red Hat Enterprise Linux 5.
Red Hat Enterprise Linux 5 is now in Production 3 Phase of the support and maintenance life cycle. This has been rated as having Low security impact and is not currently planned to be addressed in future updates. For additional information, refer to the Red Hat Enterprise Linux Life Cycle: https://access.redhat.com/support/policy/updates/errata/.
Created xen tracking bugs for this issue:
Affects: fedora-all [bug 1227627]