Linux Kernel x86_64 Ptrace Sysret Privilege Escalation Exploit

On x86_64 Intel CPUs, sysret to a non-canonical address causes a fault on the sysret instruction itself after the stack pointer has been set to a usermode-controlled value, but before the current privilege level (CPL) is changed. A flaw in the ptrace subsystem of the Linux kernel allows a tracer process to set the RIP register of the tracee to a non-canonical address, which is later used when returning to user space with a sysret instruction instead of iret after a system call, thus bypassing sanity checks that were previously introduced to fix related vulnerabilities. This vulnerability can be used by a local unprivileged attacker to corrupt kernel memory and gain root privileges on the affected system.
Exploit type: 
Platform: 
Vulnerabilty ID: 
CVE-2014-4699
Product Version: 
2014_R2
Released Date: 
Wednesday, October 1, 2014 - 00:00