CVE-2012-0217: Buffer Overflow
On Intel CPUs sysret to non-canonical address causes a fault on the sysret instruction itself after the stack pointer is set to guest value but before the CPL is changed. Systems running on AMD CPUs are not vulnerable to this issue as sysret on AMD CPUs does not generate a fault before the CPL change.
On Xen, a privileged user on a 64 bit PV guest kernel running on a 64 bit hypervisor could use this flaw to escalate privileges to that of the host. Depending on the particular guest kernel it is also possible that non-privileged guest users could also elevate their privileges to that of the host.
For Red Hat Enterprise Linux guests, only privileged guest users can exploit this issue. HVM guests and 32-bit PV guests cannot be used to exploit this issue.
Acknowledgements:
Red Hat would like to thank the Xen project for reporting this issue. Upstream acknowledges Rafal Wojtczuk as the original reporter.
Other sources
The x86-64 kernel system-call functionality in Xen 4.1.2 and earlier, as used in Citrix XenServer 6.0.2 and earlier and other products; Oracle Solaris 11 and earlier; illumos before r13724; Joyent SmartOS before 20120614T184600Z; FreeBSD before 9.0-RELEASE-p3; NetBSD 6.0 Beta and earlier; Microsoft Windows Server 2008 R2 and R2 SP1 and Windows 7 Gold and SP1; and possibly other operating systems, when running on an Intel processor, incorrectly uses the sysret path in cases where a certain address is not a canonical address, which allows local users to gain privileges via a crafted application. NOTE: because this issue is due to incorrect use of the Intel specification, it should have been split into separate identifiers; however, there was some value in preserving the original mapping of the multi-codebase coordinated-disclosure effort to a single identifier.
— MITRE
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2012-0217?
CVE-2012-0217 is classified as a high severity vulnerability due to its potential to allow privilege escalation on affected systems.
How do I fix CVE-2012-0217?
To fix CVE-2012-0217, apply the relevant security updates provided by your operating system or software vendor.
Which systems are affected by CVE-2012-0217?
CVE-2012-0217 affects systems running FreeBSD up to version 9.0, various versions of Xen, Microsoft Windows systems, and several others.
Is CVE-2012-0217 exploitable on AMD CPUs?
No, CVE-2012-0217 is not exploitable on AMD CPUs as the sysret instruction does not generate a fault before the CPL change.
What type of vulnerability is CVE-2012-0217?
CVE-2012-0217 is a privilege escalation vulnerability that occurs due to improper handling of sysret instructions in Intel CPUs.