Bug 1272522 - xen: Leak of per-domain profiling-related vcpu pointer array on x86
xen: Leak of per-domain profiling-related vcpu pointer array on x86
Status: CLOSED DUPLICATE of bug 1272519
Product: Security Response
Classification: Other
Component: vulnerability (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Red Hat Product Security
: Security
Depends On:
Blocks: 1272534
  Show dependency treegraph
Reported: 2015-10-16 11:53 EDT by Adam Mariš
Modified: 2015-10-29 09:46 EDT (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2015-10-29 09:46:47 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Upstream patch (767 bytes, patch)
2015-10-16 11:59 EDT, Adam Mariš
no flags Details | Diff

  None (edit)
Description Adam Mariš 2015-10-16 11:53:23 EDT
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.

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.

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


On systems where the guest kernel is controlled by the host rather than guest administrator, running only kernels (in the target and profiling domain respectively) which do not call these hypercalls will also prevent untrusted guest users from exploiting this issue. However untrusted guest administrators can still trigger it unless further steps are taken to prevent them 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. The leak is small. Preventing the creation of large numbers of new domains, and limiting the number of times an existing domain can be rebooted, can reduce the impact of this vulnerability.
Comment 1 Adam Mariš 2015-10-16 11:59 EDT
Created attachment 1083752 [details]
Upstream patch
Comment 2 Fabio Olive Leite 2015-10-26 21:13:33 EDT
XSA-151 was updated to assign a CVE, but it is the same CVE as XSA-149.

The updated advisory text contains this:

Xen Security Advisory CVE-2015-7969 / XSA-151
version 2
Note that CVE-2015-7969 covers both this issue and XSA-149.
Comment 3 Martin Prpič 2015-10-29 09:46:47 EDT

*** This bug has been marked as a duplicate of bug 1272519 ***

Note You need to log in before you can comment on or make changes to this bug.