ISSUE DESCRIPTION
=================
Certain PV MMU operations may take a long time to process. For that
reason Xen explicitly check for the need to preempt the current vCPU at
certain points. A few rarely taken code paths did bypass such checks.
By suitably enforcing the conditions through its own page table
contents, a malicious guest may cause such bypasses to be used for an
unbounded number of iterations.
IMPACT
======
A malicious or buggy PV guest may cause a Denial of Service (DoS)
affecting the entire host. Specifically, it may prevent use of a
physical CPU for an indeterminate period of time.
VULNERABLE SYSTEMS
==================
All Xen versions from 3.4 onwards are vulnerable. Xen versions 3.3 and
earlier are vulnerable to an even wider class of attacks, due to them
lacking preemption checks altogether in the affected code paths.
Only x86 systems are affected. ARM systems are not affected.
Only x86 PV guests can leverage the vulnerability. x86 HVM or PVH
guests cannot leverage the vulnerability.
MITIGATION
==========
Running only HVM or PVH guests will avoid this vulnerability.
For PV guests, the vulnerability can be avoided if the guest kernel is
controlled by the host rather than guest administrator, provided that
further steps are taken to prevent the guest administrator 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.