Lucene search

K
xenXen ProjectXSA-213
HistoryMay 02, 2017 - 11:18 a.m.

x86: 64bit PV guest breakout via pagetable use-after-mode-change

2017-05-0211:18:00
Xen Project
xenbits.xen.org
25

0.001 Low

EPSS

Percentile

31.6%

ISSUE DESCRIPTION

64-bit PV guests typically use separate (root) page tables for their kernel and user modes. Hypercalls are accessible to guest kernel context only, which certain hypercall handlers make assumptions on. The IRET hypercall (replacing the identically name CPU instruction) is used by guest kernels to transfer control from kernel mode to user mode. If such an IRET hypercall is placed in the middle of a multicall batch, subsequent operations invoked by the same multicall batch may wrongly assume the guest to still be in kernel mode. If one or more of these subsequent operations involve operations on page tables, they may be using the wrong root page table, confusing internal accounting. As a result the guest may gain writable access to some of its page tables.

IMPACT

A malicious or buggy 64-bit 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 64-bit Xen versions are vulnerable.
Only x86 systems are affected. ARM systems are not vulnerable.
The vulnerability is only exposed to 64-bit PV guests. HVM guests and 32-bit PV guests can’t exploit the vulnerability.

CPENameOperatorVersion
xeneqany