Information

Advisory XSA-303
Public release 2019-10-31 12:00
Updated 2019-10-31 12:28
Version 4
CVE(s) CVE-2019-18422
Title ARM: Interrupts are unconditionally unmasked in exception handlers

Files

advisory-303.txt (signed advisory file)
xsa303.meta
xsa303-4.8/0001-Revert-xen-arm32-entry-Consolidate-DEFINE_TRAP_ENTRY.patch
xsa303-4.8/0002-xen-arm32-entry-Consolidate-DEFINE_TRAP_ENTRY-macros.patch
xsa303-4.8/0003-xen-arm32-entry-Fold-the-macro-SAVE_ALL-in-the-macro.patch
xsa303-4.8/0004-xen-arm32-Don-t-blindly-unmask-interrupts-on-trap-wi.patch
xsa303-4.8/0005-xen-arm64-Don-t-blindly-unmask-interrupts-on-trap-wi.patch
xsa303/0001-xen-arm32-entry-Split-__DEFINE_ENTRY_TRAP-in-two.patch
xsa303/0002-xen-arm32-entry-Fold-the-macro-SAVE_ALL-in-the-macro.patch
xsa303/0003-xen-arm32-Don-t-blindly-unmask-interrupts-on-trap-wi.patch
xsa303/0004-xen-arm64-Don-t-blindly-unmask-interrupts-on-trap-wi.patch

Advisory


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

            Xen Security Advisory CVE-2019-18422 / XSA-303
                               version 4

  ARM: Interrupts are unconditionally unmasked in exception handlers

UPDATES IN VERSION 4
====================

Fix typoes in the series and add more reviewed-by tag.

Public release.

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

When an exception occurs on an ARM system which is handled without
changing processor level, some interrupts are unconditionally enabled
during exception entry.  So exceptions which occur when interrupts are
masked will effectively unmask the interrupts.

IMPACT
======

A malicious guest might contrive to arrange for critical Xen code to
run with interrupts erroneously enabled.  This could lead to data
corruption, denial of service, or possibly even privilege escalation.
However a precise attack technique has not been identified.

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

All ARM systems are vulnerable.  x86 systems are not vulnerable.

On some platforms this issue could possibly be exploited by an
unprivileged userspace attacker.

CREDITS
=======

This issue was discovered by Julian Grall of Arm.

RESOLUTION
==========

Applying the appropriate attached patch resolves this issue.

xsa303/*.patch         xen-unstable .. Xen 4.9
xsa303-4.8/*.patch     Xen 4.8

$ sha256sum xsa303* xsa303*/*
66b3eb28cfa633999da7480a37cd919293eb87aa730e7bc58b12c47bcdb0c9c0  xsa303.meta
7769eee9b876cdb7dde2ec664d34a5067f9b639d5c543ee89ff2eda818f04cab  xsa303-4.8/0001-Revert-xen-arm32-entry-Consolidate-DEFINE_TRAP_ENTRY.patch
f1337aa8c4b38f4ab61e7206c7bd8f5c782583947d9b9e1e8c6f139db73ca2cb  xsa303-4.8/0002-xen-arm32-entry-Consolidate-DEFINE_TRAP_ENTRY-macros.patch
160ea6acfba85faf1cbb670b0a3873f025c0dab388f73018a22a61104e1a5fe1  xsa303-4.8/0003-xen-arm32-entry-Fold-the-macro-SAVE_ALL-in-the-macro.patch
2cc1e3282263f03c6b9c6e05039f84173b8dbc893a2cd88f80ce2275ff7478d8  xsa303-4.8/0004-xen-arm32-Don-t-blindly-unmask-interrupts-on-trap-wi.patch
63c4a90c45ae28032e0149353cafd495cce5caa8c84ad022d21b8078710e996d  xsa303-4.8/0005-xen-arm64-Don-t-blindly-unmask-interrupts-on-trap-wi.patch
4da48a29aaad85a410021952b2b3cb4dae14365c688e724ed7fc80feea1334df  xsa303/0001-xen-arm32-entry-Split-__DEFINE_ENTRY_TRAP-in-two.patch
99773cbfb6f0df5f0c83477c9dcd39127cb361213455bd2cb1f6bcfe4566d5a2  xsa303/0002-xen-arm32-entry-Fold-the-macro-SAVE_ALL-in-the-macro.patch
9e8241c311aa8da7fcb1da09b9d8b5a55c26a10f02355e37e97d1e7a3b6db7be  xsa303/0003-xen-arm32-Don-t-blindly-unmask-interrupts-on-trap-wi.patch
4c9bc0d0b27eff06f65f1a679263ffbcc8aa4c65117840284dc115ae49e7966d  xsa303/0004-xen-arm64-Don-t-blindly-unmask-interrupts-on-trap-wi.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/4UyVfoK9kFAl26014MHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZ79IIALZ04OSkaCmDXeNhb7mXPjqyNPGY8bqXwD1TQd51
W7yLo+DM/cnkj+u3UR96Mkma3eAj8sJLKeuQGRMScyyfNCj/b0pY0M1h6XRi5NLN
zV6EWk7rR/87ID4Z82nwAq4lhsTgfgglH4I39oKZzFflHQtmij4DKuf/5K9g+6qT
8lc70ylgBep3Q3e73qJ1aLEvBYVnhs0lxY8QJDHOIS9GWY6/kqSVoWzK1dUtJDhD
vB/MPBtG1WxJETrCjC1Fat6lmfErjqiqX/tunFVFASFPL4aOTSVA7Oo9IJYX9XSY
6f3le7BYj8xJUp7A0z2vv0YBQvOQ/bsvs4ONMRpRswwDA+Q=
=eraI
-----END PGP SIGNATURE-----

Xenproject.org Security Team