Xen Security Advisory CVE-2012-0217 / XSA-7
64-bit PV guest privilege escalation vulnerability
UPDATES IN VERSION 9
Public release. Previous versions were embargoed.
Rafal Wojtczuk has discovered a vulnerability which can allow a 64-bit
PV guest kernel running on a 64-bit hypervisor to escalate privileges
to that of the host by arranging for a system call to return via
sysret to a non-canonical RIP. Intel CPUs deliver the resulting
exception in an undesirable processor state.
Guest administrators can gain control of the host.
Depending on the particular guest kernel it is also possible that
non-privileged guest user processes can also elevate their privileges
to that of the host.
All systems running 64 bit Xen hypervisor running 64 bit PV guests on
Intel CPUs are vulnerable to this issue.
Systems using AMD CPUs are not vulnerable to this privilege
escalation. AMD have issued the following statement:
AMD processors’ SYSRET behavior is such that a non-canonical
address in RCX does not generate a #GP while in CPL0. We have
verified this with our architecture team, with our design team, and
have performed tests that verified this on silicon. Therefore, this
privilege escalation exposure is not applicable to any AMD
While investigating this, it was noted that some older AMD CPUs will
lock up under similar circumstances, causing a denial of service. See
XSA-9 for details.
This issue can be mitigated by running HVM (fully-virtualised)
or 32 bit PV guests only.
Applying the appropriate attached patch will resolve the issue.
These patches also resolve the issue described in XSA-8 (CVE-2012-0128).
These changes have been made to the staging Xen repositories:
xen-unstable.hg 25480:76eaf5966c05 25200:80f4113be500+25204:569d6f05e1ef
xen-4.1-testing.hg 23299:f08e61b9b33f 23300:0fec1afa4638
xen-4.0-testing.hg 21590:dd367837e089 21591:adb943a387c8
xen-3.4-testing.hg 19996:894aa06e4f79 19997:ddb7578abb89
The attached patches resolve both this issue and that reported in
xen-unstable 25204:569d6f05e1ef or later xsa7-xsa8-unstable-recent.patch
xen-unstable 25199:6092641e3644 or earlier xsa7-xsa8-unstable-apr16.patch
Xen 4.1, 4.1.x xsa7-xsa8-xen-4.1.patch
Xen 4.0, 4.0.x xsa7-xsa8-xen-4.0.patch
Xen 3.4, 3.4.x xsa7-xsa8-xen-3.4.patch
Be sure to patch up if you run Xen, and I have a feeling the fallout is far from over..