|Public release ||2016-11-22 12:00|
|Updated ||2016-11-22 12:00|
|Title ||qemu incautious about shared ring processing|
Filesadvisory-197.txt (signed advisory file)
-----BEGIN PGP SIGNED MESSAGE-----
Xen Security Advisory CVE-2016-9381 / XSA-197
qemu incautious about shared ring processing
UPDATES IN VERSION 3
Added email header syntax to patches, for e.g. git-am.
The compiler can emit optimizations in qemu which can lead to double
fetch vulnerabilities. Specifically data on the rings shared between
qemu and the hypervisor (which the guest under control can obtain
mappings of) can be fetched twice (during which time the guest can
alter the contents) possibly leading to arbitrary code execution in
Malicious administrators can exploit this vulnerability to take over
the qemu process, elevating its privilege to that of the qemu process.
In a system not using a device model stub domain (or other techniques
for deprivileging qemu), malicious guest administrators can thus
elevate their privilege to that of the host.
All Xen versions with all flavors of qemu are affected.
Only x86 HVM guests expose the vulnerability. x86 PV guests do not
expose the vulnerability.
ARM systems are not vulnerable.
Running only PV guests will avoid the vulnerability.
Enabling stubdomains will mitigate this issue, by reducing the
escalation to only those privileges accorded to the service domain.
In a usual configuration, a service domain has only the privilege of
the guest, so this eliminates 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.
This issue was discovered by yanghongke of Huawei Security Test Team.
Applying the appropriate attached patch resolves this issue.
xsa197-qemuu.patch qemu-upstream xen-unstable, Xen 4.7.x
xsa197-qemut.patch qemu-traditional xen-unstable, Xen 4.7.x, Xen 4.6.x
xsa197-4.6-qemuu.patch qemu-upstream Xen 4.6.x
xsa197-4.5-qemuu.patch qemu-upstream Xen 4.5.x
xsa197-4.5-qemut.patch qemu-traditional Xen 4.5.x, Xen 4.4.x
xsa197-4.4-qemuu.patch qemu-upstream Xen 4.4.x
$ sha256sum xsa197*
DEPLOYMENT DURING EMBARGO
Deployment of the patch described above (or others which are
substantially similar) and the PV guest mitigation are permitted during
the embargo, even on public-facing systems with untrusted guest users
HOWEVER deployment of the stubdomain mitigation described above 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 in that case the configuration change may be visible
to the guest which could lead to the rediscovery of the vulnerability.
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
(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
-----END PGP SIGNATURE-----
Xenproject.org Security Team