Bug 1499821 (CVE-2017-15588, xsa241)

Summary: CVE-2017-15588 xsa241 xen: Stale TLB entry due to page type release race (XSA-241)
Product: [Other] Security Response Reporter: Adam Mariš <amaris>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED WONTFIX QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: ailan, drjones, imammedo, jforbes, knoel, m.a.young, mrezanin, pbonzini, rkrcmar, robinlee.sysu, security-response-team, vkuznets, xen-maint
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-08 03:27:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1501391    
Bug Blocks:    

Description Adam Mariš 2017-10-09 12:51:35 UTC
ISSUE DESCRIPTION
=================

x86 PV guests effect TLB flushes by way of a hypercall.  Xen tries to
reduce the number of TLB flushes by delaying them as much as possible.
When the last type reference of a page is dropped, the need for a TLB
flush (before the page is re-used) is recorded.  If a guest TLB flush
request involves an Inter Processor Interrupt (IPI) to a CPU in which
is the process of dropping the last type reference of some page, and
if that IPI arrives at exactly the right instruction boundary, a stale
time stamp may be recorded, possibly resulting in the later omission
of the necessary TLB flush for that page.

IMPACT
======

A malicious x86 PV guest may be able to access all of system memory,
allowing for all of privilege escalation, host crashes, and
information leaks.

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

All Xen versions from at least 3.2 onwards are vulnerable.  Earlier
versions have not been checked.

Only x86 systems are affected.  ARM systems are not affected.

Only x86 PV guests can leverage the vulnerability.  x86 HVM guests
cannot leverage the vulnerability.

RISK ASSESSMENT
===============

A successful attack would require introducing an extended delay between
two adjacent operations on one cpu -- long enough for two hypercalls to
complete on another cpu.  The security team currently has no
proof-of-concept for this vulnerability.

However, techniques for these sorts of timing-based attacks are
continually advancing, so we still recommend users potentially affected
by this issue apply the patch as soon as reasonably possible.

MITIGATION
==========

Running only HVM guests will avoid this vulnerability.

For PV guests, the vulnerability can be avoided if the guest kernel is
controlled by the host rather than guest administrator, provided that
further steps are taken to prevent the guest administrator from loading
code into the kernel (e.g. by disabling loadable modules etc) or from
using other mechanisms which allow them to run code at kernel privilege.

External References:

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

Comment 1 Adam Mariš 2017-10-12 13:41:40 UTC
Created xen tracking bugs for this issue:

Affects: fedora-all [bug 1501391]

Comment 3 Adam Mariš 2017-10-18 14:39:03 UTC
Acknowledgments:

Name: the Xen project
Upstream: Jann Horn (Google)