|Public release ||2016-09-08 12:00|
|Updated ||2016-09-08 12:00|
|Title ||x86: Mishandling of instruction pointer truncation during emulation|
Filesadvisory-186.txt (signed advisory file)
-----BEGIN PGP SIGNED MESSAGE-----
Xen Security Advisory CVE-2016-7093 / XSA-186
x86: Mishandling of instruction pointer truncation during emulation
UPDATES IN VERSION 4
When emulating HVM instructions, Xen uses a small i-cache for fetches
from guest memory. The code that handles cache misses does not check
if the address from which it fetched lies within the cache before
blindly writing to it. As such it is possible for the guest to
overwrite hypervisor memory.
It is currently believed that the only way to trigger this bug is to
use the way that Xen currently incorrectly wraps CS:IP in 16 bit
modes. The included patch prevents such wrapping.
A malicious HVM guest administrator can escalate their privilege to that
of the host.
Xen versions 4.7.0 and later are vulnerable.
Xen releases 4.6.3 and 4.5.3 are vulnerable.
Xen releases 4.6.0 to 4.6.2 inclusive are NOT vulnerable.
Xen releases 4.5.2 and earlier are NOT vulnerable.
The vulnerability is only exposed to HVM guests on x86 hardware.
The vulnerability is not exposed to x86 PV guests, or ARM guests.
Running only PV guests will avoid this vulnerability.
This issue was discovered by Brian Marcotte.
Applying the first patch will resolve the issue.
Users wishing to independently verify the correctness of the fix may
find the second patch helpful. The second patch makes it easier to
use the "fep" (Force Emulation Prefix) feature to reproduce the
erroneous condition in a test environment. The "fep" feature requires
explicit enablement on the hypervisor command line, and is unsuitable
for production systems. Accordingly, applying the second patch does
not affect production systems and does not improve security.
Xen version First patch Second patch
xen-unstable: xsa186-0001-*.patch xsa186-0002-*.patch
Xen 4.7.x: xsa186-0001-*.patch xsa186-4.7-0002-*.patch
Xen 4.6.3: xsa186-0001-*.patch xsa186-4.6-0002-*.patch
Xen 4.5.3: xsa186-0001-*.patch xsa186-4.6-0002-*.patch
$ sha256sum xsa186*
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:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
-----END PGP SIGNATURE-----
Xenproject.org Security Team