Xen Security Advisory XSA-200
x86 CMPXCHG8B emulation fails to ignore operand size override
*** EMBARGOED UNTIL 2016-12-13 12:00 UTC ***
The x86 instruction CMPXCHG8B is supposed to ignore legacy operand
size overrides; it only honors the REX.W override (making it
CMPXCHG16B). So, the operand size is always 8 or 16.
When support for CMPXCHG16B emulation was added to the instruction
emulator, this restriction on the set of possible operand sizes was
relied on in some parts of the emulation; but a wrong, fully general,
operand size value was used for other parts of the emulation.
As a result, if a guest uses a supposedly-ignored operand size prefix,
a small amount of hypervisor stack data is leaked to the guests: a 96
bit leak to guests running in 64-bit mode; or, a 32 bit leak to other
A malicious unprivileged guest may be able to obtain sensitive
information from the host.
Xen versions 3.3 through 4.7 are affected. Xen master (to become 4.8)
as well as Xen versions 3.2 and earlier are not affected.
Only x86 systems are affected. ARM systems are not affected.
On Xen 4.6 and earlier the vulnerability is exposed to all guest user
processes, including unprivileged processes, in such guests.
On Xen 4.7, the vulnerability is exposed only to guest user processes
granted a degree of privilege (such as direct hardware access) by the
guest administrator; or, to all user processes when the when the VM has
been explicitly configured with a non-default cpu vendor string (in
xm/xl, this would be done with a `cpuid=' domain config option).
There is no known mitigation.
Applying the appropriate attached patch resolves this issue.
xsa200-4.7.patch Xen 4.7.x
xsa200-4.6.patch Xen 4.6.x, Xen 4.5.x, Xen 4.4.x
$ sha256sum xsa200*
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:
@maintainer, please proceed.
This issue was resolved and addressed in
GLSA 201612-56 at https://security.gentoo.org/glsa/201612-56
by GLSA coordinator Thomas Deutschmann (whissi).