Lucene search

K
xenXen ProjectXSA-151
HistoryOct 29, 2015 - 11:59 a.m.

x86: leak of per-domain profiling-related vcpu pointer array

2015-10-2911:59:00
Xen Project
xenbits.xen.org
58

4.9 Medium

CVSS2

Access Vector

LOCAL

Access Complexity

LOW

Authentication

NONE

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

COMPLETE

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

0.001 Low

EPSS

Percentile

25.6%

ISSUE DESCRIPTION

A domain’s xenoprofile state contains an array of per-vcpu information, which is allocated once in the lifetime of a domain in response to that domain using the XENOPROF_get_buffer hypercall on itself or by a domain with the privilege to profile a target domain using the XENOPROF_set_passive hypercall.
This array is leaked on domain teardown. This memory leak could – over time – exhaust the host’s memory.

IMPACT

The following parties can mount a denial of service attack affecting the whole system:

  • A malicious guest administrator via XENOPROF_get_buffer. - A domain given suitable privilege over another domain via XENOPROF_set_passive (this would usually be a domain being used to profile another domain, eg with the xenoprof tool).
    The ability to also restart or create suitable domains is also required to fully exploit the issue. Without this the leak is limited to a small multiple of the maximum number of vcpus for the domain.
    The maximum leak is 128kbytes per domain (re)boot.

VULNERABLE SYSTEMS

Versions of Xen from 4.0 onwards are vulnerable.
The XENOPROF hypercalls are only implemented on x86. ARM is therefore not vulnerable.

CPENameOperatorVersion
xenge4.0

4.9 Medium

CVSS2

Access Vector

LOCAL

Access Complexity

LOW

Authentication

NONE

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

COMPLETE

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

0.001 Low

EPSS

Percentile

25.6%