Bug 1486708 (CVE-2017-14318, xsa232) - CVE-2017-14318 xsa232 xen: Missing check for grant table (XSA-232)
Summary: CVE-2017-14318 xsa232 xen: Missing check for grant table (XSA-232)
Keywords:
Status: CLOSED WONTFIX
Alias: CVE-2017-14318, xsa232
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1490884
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-08-30 11:55 UTC by Adam Mariš
Modified: 2019-09-29 14:19 UTC (History)
13 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-06-08 03:22:47 UTC


Attachments (Terms of Use)

Description Adam Mariš 2017-08-30 11:55:46 UTC
ISSUE DESCRIPTION
=================

The function `__gnttab_cache_flush` handles GNTTABOP_cache_flush grant
table operations. It checks to see if the calling domain is the owner
of the page that is to be operated on. If it is not, the owner's grant
table is checked to see if a grant mapping to the calling domain
exists for the page in question.

However, the function does not check to see if the owning domain
actually has a grant table or not. Some special domains, such as
`DOMID_XEN`, `DOMID_IO` and `DOMID_COW` are created without grant
tables. Hence, if __gnttab_cache_flush operates on a page owned by
these special domains, it will attempt to dereference a null pointer
in the domain struct.


IMPACT
======

The guest can get Xen to dereference a NULL pointer.

For ARM guests and x86 PV guests on systems with SMAP enabled, this will cause a host crash (denial-of-service).

For x86 PV guests on systems without SMAP enabled, an attacker can map
a crafted grant structure at virtual address 0.  This can be leveraged
to increment an arbitrary virtual address, which can then probably be
leveraged into a full privilege escalation.


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

All versions of Xen since Xen 4.5 are vulnerable.

x86 HVM guests do not expose the vulnerability.

ARM guests and x86 PV guests on systems with SMAP enabled are only
vulnerable to a Denial-of-Service (host crash).

x86 PV guests on systems without SMAP running are vulnerable to a
privilege escalation.

MITIGATION
==========

Hardware supporting Supervisor Mode Access Prevention (Intel Broadwell,
AMD Zen) can mitigate the privilege escalation to a DoS.

External References:

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

Comment 1 Adam Mariš 2017-09-12 12:19:33 UTC
Acknowledgments:

Name: Matthew Daley

Comment 2 Adam Mariš 2017-09-12 12:23:27 UTC
Created xen tracking bugs for this issue:

Affects: fedora-all [bug 1490884]


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