-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Xen Security Advisory CVE-2017-8904 / XSA-214 version 4 grant transfer allows PV guest to elevate privileges UPDATES IN VERSION 4 ==================== Fix patch name. ISSUE DESCRIPTION ================= The GNTTABOP_transfer operation allows one guest to transfer a page to another guest. The internal processing of this, however, does not include zapping the previous type of the page being transferred. This makes it possible for a PV guest to transfer a page previously used as part of a segment descriptor table to another guest while retaining the "contains segment descriptors" property. If the destination guest is a PV one of different bitness, it may gain access to segment descriptors it is not normally allowed to have, like 64-bit code segments in a 32-bit PV guest. If the destination guest is a HVM one, that guest may freely alter the page contents and then hand the page back to the same or another PV guest. In either case, if the destination PV guest then inserts that page into one of its own descriptor tables, the page still having the designated type results in validation of its contents being skipped. IMPACT ====== A malicious pair of guests may be able to access all of system memory, allowing for all of privilege escalation, host crashes, and information leaks. VULNERABLE SYSTEMS ================== All Xen versions are vulnerable. Only x86 systems are affected. ARM systems are not vulnerable. MITIGATION ========== Running only one out of the three relevant classes of guest (namely: 32-bit PV; 64-bit PV; HVM) on any given host will avoid the vulnerability. (Note that this must also include any nonprivileged service domains such as stub device model domains.) The vulnerability can also be avoided if all guest kernels are 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. CREDITS ======= This issue was discovered by Jann Horn of Google Project Zero. RESOLUTION ========== Applying the attached patch resolves this issue. xsa214.patch xen-unstable, Xen 4.8.x, 4.7.x, 4.6.x, 4.5.x $ sha256sum xsa214* 1c038c3927d08e6abdf3ce320bb8b0b68a106e6ac86b4e8194035dc5e4726d64 xsa214.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/4UyVfoK9kFAmV8b/YMHHBncEB4ZW4u b3JnAAoJEIP+FMlX6CvZHI0H/3llZWkzW9qrVsnFtfkYW42Ex33cXKTY8f8V8ZZG hTZ+MsUAN/EJk270YQh1nkHp619xswnX0qSDXbloviDRIwmUdExfsjCTRM0ELuQs WNEdsw55F2f2Zz4KVLEr99ItPGDXOVUQfCeBprkj7g3SRrM8V484R5lqnII+kzdz Ybv3qQrwUKu8W781MC5Jc9uw0rERoLXG2LH7BkvSJjhfVvgFfXZ7HnxwcV9OkBnw m8ORr//6QDuyGcX0sT6GM3uQX/0w0oEIA8RzOBrXbfHEXFNkzc4Wa/wThwYvibdY RYDt+hmOLZJVo1fYIX1uaBrPuHU6OKYIJzEggOwLzj8yTik= =+7Iy -----END PGP SIGNATURE-----