-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Xen Security Advisory CVE-2017-8903 / XSA-213 version 3 x86: 64bit PV guest breakout via pagetable use-after-mode-change UPDATES IN VERSION 3 ==================== CVE assigned. ISSUE DESCRIPTION ================= 64-bit PV guests typically use separate (root) page tables for their kernel and user modes. Hypercalls are accessible to guest kernel context only, which certain hypercall handlers make assumptions on. The IRET hypercall (replacing the identically name CPU instruction) is used by guest kernels to transfer control from kernel mode to user mode. If such an IRET hypercall is placed in the middle of a multicall batch, subsequent operations invoked by the same multicall batch may wrongly assume the guest to still be in kernel mode. If one or more of these subsequent operations involve operations on page tables, they may be using the wrong root page table, confusing internal accounting. As a result the guest may gain writable access to some of its page tables. IMPACT ====== A malicious or buggy 64-bit PV guest may be able to access all of system memory, allowing for all of privilege escalation, host crashes, and information leaks. VULNERABLE SYSTEMS ================== All 64-bit Xen versions are vulnerable. Only x86 systems are affected. ARM systems are not vulnerable. The vulnerability is only exposed to 64-bit PV guests. HVM guests and 32-bit PV guests can't exploit the vulnerability. MITIGATION ========== Running only HVM or 32-bit PV guests will avoid the vulnerability. 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. CREDITS ======= This issue was discovered by Jann Horn of Google Project Zero. RESOLUTION ========== Applying the appropriate attached patch resolves this issue. xsa213.patch xen-unstable xsa213-4.8.patch Xen 4.8.x xsa213-4.7.patch Xen 4.7.x xsa213-4.6.patch Xen 4.6.x xsa213-4.5.patch Xen 4.5.x $ sha256sum xsa213* cddea5eac2ad1f5a68b561da4e98afce891189a2fdedf93087a03889e9df6e99 xsa213.patch fce9bbc9fc30769dfbab4d1830d87d220000b2742e5e70aac22f3e9d013b7614 xsa213-4.5.patch dce026ed1a02db1cf22de89120e7129839f656d041379c450e7403ae909e7b99 xsa213-4.6.patch d8202db5981e2f13d9942332cd3fefded98a5cbc302caee431c7a15051887e7f xsa213-4.7.patch 20c12810ac73809ba74cfde811d420b1b544a07f759c393380afde1a09eb5274 xsa213-4.8.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----- Version: GnuPG v1 iQEcBAEBCAAGBQJZFZInAAoJEIP+FMlX6CvZq7YIAL4qV4jk+XHwuTSPp/3DyOgX CSwDduXqwdeUTfc+1qn6yQFiDxOMVUUUq8Qq1j+x6QrcBocJ6qNJNXhHdExbJ9Aa VPMkf1c+WbuoqOy5BHgnVkTLbCjUzDknQmDBJF4JjADsFpWaIzaXXmLG7GLwSaaf XIYIRcqa51XYSA32E0nvn+AC5OQCx7Pt5jQwRnQFfWH4e79abbI/2jNci3Xe7vfa TmUFlmTEZ3qZ5WNL0+vW4qF/fwwLya9E3IqtqBKYf5BmI369dC9tQs4ELleJ1mqi pj+81RnpVMeQlmYkt+31zP1Hzn/zBdF19yDzpBmvRZJYrF/I6rd+8mYXa8k5H5g= =KN3M -----END PGP SIGNATURE-----