Debian DSA-4977-1 : xen - security update

high Nessus Plugin ID 153509

Synopsis

The remote Debian host is missing one or more security-related updates.

Description

The remote Debian 11 host has packages installed that are affected by multiple vulnerabilities as referenced in the dsa-4977 advisory.

- IOMMU page mapping issues on x86 T[his CNA information record relates to multiple CVEs; the text explains which aspects/vulnerabilities correspond to which CVE.] Both AMD and Intel allow ACPI tables to specify regions of memory which should be left untranslated, which typically means these addresses should pass the translation phase unaltered. While these are typically device specific ACPI properties, they can also be specified to apply to a range of devices, or even all devices. On all systems with such regions Xen failed to prevent guests from undoing/replacing such mappings (CVE-2021-28694). On AMD systems, where a discontinuous range is specified by firmware, the supposedly-excluded middle range will also be identity- mapped (CVE-2021-28695). Further, on AMD systems, upon de-assigment of a physical device from a guest, the identity mappings would be left in place, allowing a guest continued access to ranges of memory which it shouldn't have access to anymore (CVE-2021-28696). (CVE-2021-28694, CVE-2021-28695, CVE-2021-28696)

- grant table v2 status pages may remain accessible after de-allocation Guest get permitted access to certain Xen-owned pages of memory. The majority of such pages remain allocated / associated with a guest for its entire lifetime. Grant table v2 status pages, however, get de-allocated when a guest switched (back) from v2 to v1. The freeing of such pages requires that the hypervisor know where in the guest these pages were mapped. The hypervisor tracks only one use within guest space, but racing requests from the guest to insert mappings of these pages may result in any of them to become mapped in multiple locations.
Upon switching back from v2 to v1, the guest would then retain access to a page that was freed and perhaps re-used for other purposes. (CVE-2021-28697)

- long running loops in grant table handling In order to properly monitor resource use, Xen maintains information on the grant mappings a domain may create to map grants offered by other domains. In the process of carrying out certain actions, Xen would iterate over all such entries, including ones which aren't in use anymore and some which may have been created but never used. If the number of entries for a given domain is large enough, this iterating of the entire table may tie up a CPU for too long, starving other domains or causing issues in the hypervisor itself. Note that a domain may map its own grants, i.e.
there is no need for multiple domains to be involved here. A pair of cooperating guests may, however, cause the effects to be more severe. (CVE-2021-28698)

- inadequate grant-v2 status frames array bounds check The v2 grant table interface separates grant attributes from grant status. That is, when operating in this mode, a guest has two tables. As a result, guests also need to be able to retrieve the addresses that the new status tracking table can be accessed through. For 32-bit guests on x86, translation of requests has to occur because the interface structure layouts commonly differ between 32- and 64-bit. The translation of the request to obtain the frame numbers of the grant status table involves translating the resulting array of frame numbers. Since the space used to carry out the translation is limited, the translation layer tells the core function the capacity of the array within translation space. Unfortunately the core function then only enforces array bounds to be below 8 times the specified value, and would write past the available space if enough frame numbers needed storing. (CVE-2021-28699)

- xen/arm: No memory limit for dom0less domUs The dom0less feature allows an administrator to create multiple unprivileged domains directly from Xen. Unfortunately, the memory limit from them is not set.
This allow a domain to allocate memory beyond what an administrator originally configured.
(CVE-2021-28700)

- Another race in XENMAPSPACE_grant_table handling Guests are permitted access to certain Xen-owned pages of memory. The majority of such pages remain allocated / associated with a guest for its entire lifetime.
Grant table v2 status pages, however, are de-allocated when a guest switches (back) from v2 to v1. Freeing such pages requires that the hypervisor enforce that no parallel request can result in the addition of a mapping of such a page to a guest. That enforcement was missing, allowing guests to retain access to pages that were freed and perhaps re-used for other purposes. Unfortunately, when XSA-379 was being prepared, this similar issue was not noticed. (CVE-2021-28701)

Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version number.

Solution

Upgrade the xen packages.

For the stable distribution (bullseye), these problems have been fixed in version 4.14.3-1~deb11u1.

See Also

https://security-tracker.debian.org/tracker/source-package/xen

https://www.debian.org/security/2021/dsa-4977

https://security-tracker.debian.org/tracker/CVE-2021-28694

https://security-tracker.debian.org/tracker/CVE-2021-28695

https://security-tracker.debian.org/tracker/CVE-2021-28696

https://security-tracker.debian.org/tracker/CVE-2021-28697

https://security-tracker.debian.org/tracker/CVE-2021-28698

https://security-tracker.debian.org/tracker/CVE-2021-28699

https://security-tracker.debian.org/tracker/CVE-2021-28700

https://security-tracker.debian.org/tracker/CVE-2021-28701

https://packages.debian.org/source/bullseye/xen

Plugin Details

Severity: High

ID: 153509

File Name: debian_DSA-4977.nasl

Version: 1.5

Type: local

Agent: unix

Published: 9/21/2021

Updated: 5/9/2022

Supported Sensors: Agentless Assessment, Frictionless Assessment Agent, Nessus Agent, Nessus

Risk Information

VPR

Risk Factor: Medium

Score: 6.5

CVSS v2

Risk Factor: Medium

Base Score: 4.6

Temporal Score: 3.4

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

CVSS Score Source: CVE-2021-28697

CVSS v3

Risk Factor: High

Base Score: 7.8

Temporal Score: 6.8

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

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

CVSS Score Source: CVE-2021-28701

Vulnerability Information

CPE: p-cpe:/a:debian:debian_linux:libxen-dev, p-cpe:/a:debian:debian_linux:libxencall1, p-cpe:/a:debian:debian_linux:libxendevicemodel1, p-cpe:/a:debian:debian_linux:libxenevtchn1, p-cpe:/a:debian:debian_linux:libxenforeignmemory1, p-cpe:/a:debian:debian_linux:libxengnttab1, p-cpe:/a:debian:debian_linux:libxenhypfs1, p-cpe:/a:debian:debian_linux:libxenmisc4.14, p-cpe:/a:debian:debian_linux:libxenstore3.0, p-cpe:/a:debian:debian_linux:libxentoolcore1, p-cpe:/a:debian:debian_linux:libxentoollog1, p-cpe:/a:debian:debian_linux:xen-doc, p-cpe:/a:debian:debian_linux:xen-hypervisor-4.14-amd64, p-cpe:/a:debian:debian_linux:xen-hypervisor-4.14-arm64, p-cpe:/a:debian:debian_linux:xen-hypervisor-4.14-armhf, p-cpe:/a:debian:debian_linux:xen-hypervisor-common, p-cpe:/a:debian:debian_linux:xen-system-amd64, p-cpe:/a:debian:debian_linux:xen-system-arm64, p-cpe:/a:debian:debian_linux:xen-system-armhf, p-cpe:/a:debian:debian_linux:xen-utils-4.14, p-cpe:/a:debian:debian_linux:xen-utils-common, p-cpe:/a:debian:debian_linux:xenstore-utils, cpe:/o:debian:debian_linux:11.0

Required KB Items: Host/local_checks_enabled, Host/Debian/release, Host/Debian/dpkg-l

Exploit Ease: No known exploits are available

Patch Publication Date: 9/20/2021

Vulnerability Publication Date: 8/27/2021

Reference Information

CVE: CVE-2021-28694, CVE-2021-28695, CVE-2021-28696, CVE-2021-28697, CVE-2021-28698, CVE-2021-28699, CVE-2021-28700, CVE-2021-28701

IAVB: 2021-B-0060-S