|Public release ||2015-12-08 11:29|
|Updated ||2015-12-10 13:55|
|Title ||long running memory operations on ARM|
Filesadvisory-158.txt (signed advisory file)
-----BEGIN PGP SIGNED MESSAGE-----
Xen Security Advisory CVE-2015-8338 / XSA-158
long running memory operations on ARM
UPDATES IN VERSION 4
Mention that the original patches had two problems, supplying an
Certain HYPERVISOR_memory_op subops take page order inputs, with so far
insufficient enforcement of limits thereof. In particular, for all of
XENMEM_increase_reservation, XENMEM_populate_physmap, and
XENMEM_exchange the order was limited to 9 only for guests without
physical devices assigned. Guests with assigned devices were allowed up
to order 18 (x86) or 20 (ARM). XENMEM_decrease_reservation enforced
only the latter, higher limit uniformly on all kinds of guests.
All of these operations involve loops over individual pages (possibly
nested, with only the iteration count of the innermost loop being of
interest here), resulting in iteration counts of up to 1 million on
ARM. Total execution time of these operations obviously depends on
system speed, but have been measured to get into the seconds range.
A malicious guest administrator can cause a denial of service.
Specifically, prevent use of a physical CPU for a significant period.
Other attacks, namely privilege escalation, cannot be ruled out.
If a host watchdog (Xen or dom0) is in use, this can lead to a
watchdog timeout and consequently a reboot of the host. If another,
innocent, guest, is configured with a watchdog, this issue can lead to
a reboot of such a guest.
All Xen versions supporting ARM are affected.
x86 versions of Xen are unaffected.
The vulnerability can be avoided if the guest kernel is controlled by
the host rather than guest administrator, provided that further steps
are taken to prevent the guest administrator 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. On
ARM, controlling the guest's kernel may involve locking down the
Exposure may be limited by not passing through physical devices to
(However, where device pass-through is being used to enhance security,
for example, by disaggregating device drivers, users should not change
their configuration: moving the drivers from a separate domain, to
dom0, does NOT mitigate this vulnerability. Rather, it simply
recategorises the additional exposure, regarding it "as designed" and
therefore "not a bug". Users and vendors of disaggregated systems
should not change their configuration.)
This issue was discovered by Julien Grall of Citrix.
Applying the appropriate attached patch resolves this issue.
Note that the patches provided with previous versions of this advisory
had two problems:
- The bounding for ordinary DomU and DomU with pass-through devices(s)
was swapped. This would result in non-pass-through domains being able
to perform operations with larger than intended order. In the default
configuration this higher limit is not sufficient to reopen the
security issue. However, users of the new memop-max-order option
may be vulnerable, depending on the limits they specify.
- On 4.4 and earlier, the relevant patch does not compile on ARM.
The supplementary patch xsa158-fix.patch fixes these problems on all
xsa158.patch } xen-unstable, Xen 4.6.x, Xen 4.5.x
xsa158-fix.patch } apply both patches
xsa158-4.4.patch } Xen 4.4.x, Xen 4.3.x
xsa158-fix.patch } apply both patches
$ sha256sum xsa158*
DEPLOYMENT DURING EMBARGO
Deployment of the PATCH (or others which are substantially similar) is
permitted during the embargo, even on public-facing systems with
untrusted guest users and administrators.
However deployment of the NO PASS-THROUGH partial MITIGATION is NOT
permitted (except where all the affected systems and VMs are
administered and used only by organisations which are members of the
Xen Project Security Issues Predisclosure List). Specifically,
deployment on public cloud systems is NOT permitted.
This is because altering the set of devices observable in a guest in
connection with a security issue would be a user-visible change which
could lead to the rediscovery of the vulnerability.
Deployment of the mitigation is permitted only AFTER the embargo ends.
Also: 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
(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:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
-----END PGP SIGNATURE-----
Xenproject.org Security Team