Lucene search

K
xenXen ProjectXSA-110
HistoryNov 18, 2014 - 12:00 p.m.

Missing privilege level checks in x86 emulation of far branches

2014-11-1812:00:00
Xen Project
xenbits.xen.org
38

1.9 Low

CVSS2

Attack Vector

LOCAL

Attack Complexity

MEDIUM

Authentication

NONE

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

PARTIAL

AV:L/AC:M/Au:N/C:N/I:N/A:P

0.001 Low

EPSS

Percentile

26.9%

ISSUE DESCRIPTION

The emulation of far branch instructions (CALL, JMP, and RETF in Intel assembly syntax, LCALL, LJMP, and LRET in AT&T assembly syntax) incompletely performs privilege checks.
However these instructions are not usually handled by the emulator. Exceptions to this are

  • when a memory operand lives in (emulated or passed through) memory mapped IO space,
  • in the case of guests running in 32-bit PAE mode, when such an instruction is (in execution flow) within four instructions of one doing a page table update,
  • when an Invalid Opcode exception gets raised by a guest instruction, and the guest then (likely maliciously) alters the instruction to become one of the affected ones,
  • when the guest is in real mode (in which case there are no privilege checks anyway).

IMPACT

Malicious HVM guest user mode code may be able to elevate its privileges to guest supervisor mode, or to crash the guest.

VULNERABLE SYSTEMS

Xen 3.2.1 and onward are vulnerable on x86 systems.
ARM systems are not vulnerable.
Only user processes in x86 HVM guests can take advantage of this vulnerability.

CPENameOperatorVersion
xenge3.2.1

1.9 Low

CVSS2

Attack Vector

LOCAL

Attack Complexity

MEDIUM

Authentication

NONE

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

PARTIAL

AV:L/AC:M/Au:N/C:N/I:N/A:P

0.001 Low

EPSS

Percentile

26.9%