ISSUE DESCRIPTION
=================
ARM guests can send SGI (i.e. IPI) targeting a list of vCPUs using the
MMIO register GICD_SGIR (GICv2) or System Register ICC_SGI1R (GICv3).
However, the emulation code does not sanitize the list and will
directly access an array without checking whether the array index is
within bounds.
IMPACT
======
A guest may cause a hypervisor crash, resulting in a Denial of Service
(DoS).
VULNERABLE SYSTEMS
==================
Xen versions 4.6 and onwards are affected. Xen versions 4.5 and
earlier are not affected.
Only ARM systems are affected. x86 systems are not affected.
Mitigation:
On systems where the guest kernel is controlled by the host rather than
guest administrator, running only kernels which only send sane IPIs
(i.e. targeting valid CPUs) will prevent untrusted guest users from
exploiting this issue. However untrusted guest administrators can
still trigger it unless further steps are taken to prevent them from
loading code into the kernel (e.g by disabling loadable modules etc) or
from using other mechanisms which allow them to run code at kernel
privilege.
External References:
http://xenbits.xen.org/xsa/advisory-225.html
Acknowledgements:
Name: the Xen project
Upstream: Julien Grall (ARM)