Bug 1392932 (CVE-2016-9386, xsa191) - CVE-2016-9386 xsa191 xen: x86 null segments not always treated as unusable (XSA-191)
Summary: CVE-2016-9386 xsa191 xen: x86 null segments not always treated as unusable (X...
Keywords:
Status: CLOSED WONTFIX
Alias: CVE-2016-9386, xsa191
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1397383
Blocks: 1392955
TreeView+ depends on / blocked
 
Reported: 2016-11-08 13:56 UTC by Adam Mariš
Modified: 2021-02-17 03:04 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-03-07 10:20:45 UTC
Embargoed:


Attachments (Terms of Use)
xen-unstable, Xen 4.7.x (5.82 KB, patch)
2016-11-08 14:37 UTC, Adam Mariš
no flags Details | Diff
Xen 4.6.x, Xen 4.5.x, Xen 4.4.x (5.03 KB, patch)
2016-11-08 14:37 UTC, Adam Mariš
no flags Details | Diff

Description Adam Mariš 2016-11-08 13:56:02 UTC
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.

External References:

http://xenbits.xen.org/xsa/advisory-191.html

Acknowledgements:

Name: the Xen project
Upstream: Andrew Cooper (Citrix)

Comment 1 Adam Mariš 2016-11-08 14:37:12 UTC
Created attachment 1218530 [details]
xen-unstable, Xen 4.7.x

Comment 2 Adam Mariš 2016-11-08 14:37:39 UTC
Created attachment 1218531 [details]
Xen 4.6.x, Xen 4.5.x, Xen 4.4.x

Comment 3 Martin Prpič 2016-11-22 12:26:23 UTC
Created xen tracking bugs for this issue:

Affects: fedora-all [bug 1397383]


Note You need to log in before you can comment on or make changes to this bug.