[v2.5] kernel: force IRET path after a ptrace_stop() (CVE-2014-4699)
The Linux kernel before 3.15.4 on Intel processors does not properly restrict use of a non-canonical value for the saved RIP address in the case of a system call that does not use IRET, which allows local users to leverage a race condition and gain privileges, or cause a denial of service (double fault), via a crafted application that makes ptrace and fork system calls.
Details: see the parent issue.
References:
•CONFIRM:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b9cd18de4db3c9ffa7e17b0dc0ca99ed5aa4d43a
(seems work for 3.6.y, 3.10.y, 3.14.y as well)
•CONFIRM: http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.15.4
•CONFIRM: https://bugzilla.redhat.com/show\_bug.cgi?id=1115927
•CONFIRM:
https://github.com/torvalds/linux/commit/b9cd18de4db3c9ffa7e17b0dc0ca99ed5aa4d43a
(from redmine: issue id 3170, created on 2014-07-17, closed on 2015-05-07)
- Relations:
- parent #3169