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
A guest may cause a hypervisor crash, resulting in a Denial of Service
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.
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
DEPLOYMENT DURING EMBARGO
Deployment of the patches and/or mitigations described above (or
others which are substantially similar) is permitted during the
embargo, even on public-facing systems with untrusted guest users and
But: Distribution of updated software is prohibited (except to other
members of the predisclosure list).
Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable. This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)