Xen SYSCALL singlestep Handling Privilege Escalation (XSA-204)

high Nessus Plugin ID 96960
New! Plugin Severity Now Using CVSS v3

The calculated severity for Plugins has been updated to use CVSS v3 by default. Plugins that do not have a CVSS v3 score will fall back to CVSS v2 for calculating severity. Severity display preferences can be toggled in the settings dropdown.

Synopsis

The remote Xen hypervisor installation is missing a security update.

Description

According to its self-reported version number, the Xen hypervisor installed on the remote host is missing a security update. It is, therefore, affected by a privilege elevation vulnerability in the instruction emulator when handling SYSCALL by single-stepping applications. This is due to incorrect exceptions being raised based on the flags at the start of an instruction. A local attacker can exploit this issue to gain elevated privileges on the guest operating system.

Please note the following items :

- The vulnerability is only exposed to 64-bit x86 HVM guests.

- On Xen version 4.6 and earlier, the vulnerability is exposed to all guest user processes, including unprivileged processes in such guests.

- On Xen version 4.7 and later, the vulnerability is exposed only to guest user processes granted a degree of privilege (e.g., direct hardware access) by the guest administrator, or else to all user processes when 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).

- A 64-bit guest kernel which uses an IST for #DB handling will most likely mitigate the issue but will have a single unexpected #DB exception frame to deal with. In practice, this means that Linux is not vulnerable.

- The vulnerability is not exposed to 32-bit HVM guests.
This is because the emulation bug also matches real hardware behavior, and a 32-bit guest kernel using SYSCALL will already have to be using a Task Gate for handling #DB to avoid being susceptible to an escalation of privilege.

- The vulnerability is not exposed to PV guests.

- ARM systems are not vulnerable.

Note that Nessus has not tested for this vulnerability but has instead relied only on the changeset versions based on the xen.git change log.
Nessus did not check guest hardware configurations or if patches were applied manually to the source code before a recompile and reinstall.

Solution

Apply the appropriate patch according to the vendor advisory.

See Also

https://xenbits.xen.org/xsa/advisory-204.html

https://xenbits.xen.org/gitweb/?p=xen.git;a=summary

Plugin Details

Severity: High

ID: 96960

File Name: xen_server_XSA-204.nasl

Version: 1.7

Type: local

Family: Misc.

Published: 2/2/2017

Updated: 7/10/2020

Dependencies: xen_server_detect.nbin

Configuration: Enable paranoid mode

Risk Information

CVSS Score Source: CVE-2016-10013

VPR

Risk Factor: Medium

Score: 5.9

CVSS v2

Risk Factor: Medium

Base Score: 4.6

Temporal Score: 3.4

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

Temporal Vector: E:U/RL:OF/RC:C

CVSS v3

Risk Factor: High

Base Score: 7.8

Temporal Score: 6.8

Vector: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Temporal Vector: E:U/RL:O/RC:C

Vulnerability Information

CPE: cpe:/o:xen:xen

Required KB Items: installed_sw/Xen Hypervisor, Settings/ParanoidReport

Exploit Ease: No known exploits are available

Patch Publication Date: 12/19/2016

Vulnerability Publication Date: 12/19/2016

Reference Information

CVE: CVE-2016-10013

BID: 94963

IAVB: 2017-B-0008-S