Xen.org security team
2018-11-20 13:26:28 UTC
x86: DoS from attempting to use INVPCID with a non-canonical addresses
UPDATES IN VERSION 2
The INVPCID instruction raises #GP if an attempt is made to
invalidate a non-canonical address. Older flushing mechanisms such as
INVLPG tolerate this without error, and perform no action.
There is one guest accessible path in Xen where a non-canonical
address was passed into the TLB flushing code. This previously had no
ill effect, but became vulnerable with the introduction of PCID to
reduce the performance hit from the Meltdown mitigations.
A buggy or malicious PV guest can crash the host.
Only hardware which supports the INVPCID instruction is vulnerable. This is
available on Intel Haswell processors and later. AMD x86 processors are not
known to support this instruction, and ARM processors are entirely unaffected.
Only versions of Xen with PCID support are vulnerable. Support first appeared
in Xen 4.11 but was backported to the stable trees as part of the Meltdown
(XSA-254 / CVE-2017-5754) fixes. Xen 4.10.2, 4.9.3, 4.8.4 as well as the
stable-4.7 and 4.6 branches are vulnerable.
The vulnerability is only exposed to 64-bit PV guests. 32-bit PV guests, as
well as HVM/PVH guests cannot exploit the vulnerability.
Booting Xen with `pcid=0` or `invpcid=0` on the command line will work around
the issue. Alternatively, running untrusted 64bit PV guests inside xen-shim
will work around the issue.
This issue was discovered by Matthew Daley.
Applying the appropriate attached patch resolves this issue.
xsa279.patch xen-unstable, Xen 4.11.x, Xen 4.10.x
xsa279-4.9.patch Xen 4.9.x ... 4.7.x
$ sha256sum xsa279*
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.)
For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy: