Information

AdvisoryXSA-191
Public release 2016-11-22 12:00
Updated 2016-11-22 12:00
Version 3
CVE(s) CVE-2016-9386
Title x86 null segments not always treated as unusable

Files

advisory-191.txt (signed advisory file)
xsa191.patch
xsa191-4.6.patch

Advisory


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

            Xen Security Advisory CVE-2016-9386 / XSA-191
                              version 3

           x86 null segments not always treated as unusable

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

The Xen x86 emulator erroneously failed to consider the unusability of
segments when performing memory accesses.

The intended behaviour is as follows: The user data segment (%ds, %es,
%fs and %gs) selectors may be NULL in 32-bit to prevent access.  In
64-bit, NULL has a special meaning for user segments, and there is no
way of preventing access.  However, in both 32-bit and 64-bit, a NULL
LDT system segment is intended to prevent access.

On Intel hardware, loading a NULL selector zeros the base as well as most
attributes, but sets the limit field to its largest possible value.  On AMD
hardware, loading a NULL selector zeros the attributes, leaving the stale base
and limit intact.

Xen may erroneously permit the access using unexpected base/limit values.

Ability to exploit this vulnerability on Intel is easy, but on AMD depends in
a complicated way on how the guest kernel manages LDTs.

IMPACT
======

An unprivileged guest user program may be able to elevate its privilege
to that of the guest operating system.

VULNERABLE SYSTEMS
==================

The vulnerability is only exposed to HVM guests.

ARM systems are NOT vulnerable.

All versions of Xen are affected.

However, we believe that the vulnerability cannot be exploited on Xen
4.7 by completely unprivileged guest processes, unless 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).

MITIGATION
==========

Running only PV guests will avoid this issue.

CREDITS
=======

This issue was discovered by Andrew Cooper of Citrix.

RESOLUTION
==========

Applying the appropriate attached patch resolves this issue.

xsa191.patch           xen-unstable, Xen 4.7.x
xsa191-4.6.patch       Xen 4.6.x, Xen 4.5.x, Xen 4.4.x

$ sha256sum xsa191*
dca534cf4d3711ea8797846a18238ca16cc9e7a24a887300db22c3ba3d95c199  xsa191.patch
d95a1f0dd5c45497ca56e2e1390fc688bf0a4a7a7fd10c65ae25b4bbb3353b69  xsa191-4.6.patch
$

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
administrators.

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
Team.

(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:
  http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJYNDIWAAoJEIP+FMlX6CvZ4qQH/jlfd6BV63CSggCQVd0sB3a4
j7MgRZ8h0aFrCLl+0tj3QwsiW0TRDsKiTNy2xY1kxkLsQdIAeYjBddyYiJ2nbCr9
kCR2WLcWB3csf4So/85q8OMfsob7H+8PR/OsT3iY6Fo/5PzNy5wvWtU/+TRaoZIy
t9OvybZ0HYhtvQ/YHv5njKZ3nyHo6MRwGpPOrzSn8UN7p+sr3DDGiuw9LNjtnepb
dijO0c9artbWCjVkRlbe1w5514FH1vPleopGmXjTz/Wy5zNHWZL1RaVzh4N36ahP
V1joPxt+C75iRArp6y0ncloyKjgx8pMfOzCcLp9VS6dwF3zwZ5rxxtFynlRjg94=
=pUW4
-----END PGP SIGNATURE-----


Xenproject.org Security Team