Information

AdvisoryXSA-334
Public release 2020-09-22 12:00
Updated 2020-09-22 13:36
Version 3
CVE(s) CVE-2020-25598
Title Missing unlock in XENMEM_acquire_resource error path

Files

advisory-334.txt (signed advisory file)
xsa334.meta
xsa334.patch
xsa334-4.12.patch

Advisory


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2020-25598 / XSA-334
                               version 3

         Missing unlock in XENMEM_acquire_resource error path

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

The RCU (Read, Copy, Update) mechanism is a synchronisation primitive.

A buggy error path in the XENMEM_acquire_resource exits without
releasing an RCU reference, which is conceptually similar to forgetting
to unlock a spinlock.

IMPACT
======

A buggy or malicious HVM stubdomain can cause an RCU reference to be
leaked.  This causes subsequent administration operations, (e.g. CPU
offline) to livelock, resulting in a host Denial of Service.

VULNERABLE SYSTEMS
==================

The buggy codepath has been present since Xen 4.12.  Xen 4.14 and later
are vulnerable to the DoS.  The side effects are believed to be benign
on Xen 4.12 and 4.13, but patches are provided nevertheless.

The vulnerability can generally only be exploited by x86 HVM VMs, as
these are generally the only type of VM which have a Qemu stubdomain.
x86 PV and PVH domains, as well as ARM VMs typically don't use a
stubdomain.

Only VMs using HVM stubdomains can exploit the vulnerability.  VMs using
PV stubdomains, or with emulators running in dom0 cannot exploit the
vulnerability.

MITIGATION
==========

Running only x86 PV or PVH VMs will avoid the vulnerability.
Reconfiguring x86 HVM guests to use a PV or no stubdom will also avoid
the vulnerability.

CREDITS
=======

This issue was discovered by Andrew Cooper of Citrix.

RESOLUTION
==========

Applying the appropriate attached patch resolves this issue.

Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball.  Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.

xsa334.patch           Xen 4.13 - xen-unstable
xsa334-4.12.patch      Xen 4.12

$ sha256sum xsa334*
80e7725a56c4244d860e9aebb56710a8165f7ffeae3fb67365cbc85b3b0518b3  xsa334.meta
323cd9d24b2e95643833865a9943172c56edd25dfd170e4741034d28dfd0d4bd  xsa334.patch
85341ba6322ea6279c0851493ce61e822c8560850034f5f26cbcb26be85ca102  xsa334-4.12.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches and/or mitigations described above (or
others which are substantially similar) is permitted during the
embargo, even on public-facing systems with untrusted guest users and
administrators.

But: Distribution of updated software is prohibited (except to other
members of the predisclosure list).

Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
Team.


(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable.  This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)

For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
  http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAl9p/eYMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZV94H/jhwML6zObPz+zvjbwwAUoHsYiQ66CSUlxluqjN5
PXWpm56RzArptGIUakQyXKNI2Ht2fUn3Lu3w9JllujJRfmhbhiJJvI9Ar2QzOcri
+XylcK9rRspfmNUgXB629BTEcGUuo9/J+T+O4T544zfWUBncixyDq9/Q9SGAdz9c
kDZkL6UebpIFLtD6jrgYd4XAK9b1c6T7SmsGzq26m/zwGqJ1jol58kHl5GMXe7uX
rd9xZbERKIhaABbTQ10zY5IDIE4oplibSLOiJVSTz6KSyzD9by+M7oszqeIbIiRV
rY49lettdD4jfmzp5bbXQnf+9T31rG3AEHWaiOGdVcRFoq8=
=a23E
-----END PGP SIGNATURE-----


Xenproject.org Security Team