CVE-2017-1000255: Medium severity linux kernel vulnerability
A flaw was found in the Linux kernels handling of signal frame processing where any user process can craft a signal frame and then do a sigreturn so that the kernel will take an exception (interrupt), and use the r1 value from the signal frame as the kernel stack pointer. As part of the exception entry the content of the signal frame is written to the kernel stack, allowing an attacker to overwrite arbitrary locations with arbitrary values. The exception handling does produce an oops, and a panic if paniconoops=1, but only after kernel memory has been over written.
This flaw only affects PowerPC systems running on Power8 or later processors.
References:
http://seclists.org/oss-sec/2017/q4/51
This issue was introduced by commit:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5d176f751ee3
An upstream fix:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=265e60a170d0a0ecfc2d20490134ed2c48dd45ab
Other sources
On Linux running on PowerPC hardware (Power8 or later) a user process can craft a signal frame and then do a sigreturn so that the kernel will take an exception (interrupt), and use the r1 value from the signal frame as the kernel stack pointer. As part of the exception entry the content of the signal frame is written to the kernel stack, allowing an attacker to overwrite arbitrary locations with arbitrary values. The exception handling does produce an oops, and a panic if paniconoops=1, but only after kernel memory has been over written. This flaw was introduced in commit: "5d176f751ee3 (powerpc: tm: Enable transactional memory (TM) lazily for userspace)" which was merged upstream into v4.9-rc1. Please note that kernels built with CONFIGPPCTRANSACTIONALMEM=n are not vulnerable.
— Launchpad
Affected Software
Remediation
Event History
Frequently Asked Questions
What is CVE-2017-1000255?
CVE-2017-1000255 is a vulnerability on Linux running on PowerPC hardware that allows a user process to craft a signal frame and exploit it for privilege escalation.
How severe is CVE-2017-1000255 vulnerability?
CVE-2017-1000255 is a medium severity vulnerability with a severity rating of 4.
How can I fix the CVE-2017-1000255 vulnerability?
To fix CVE-2017-1000255, update your Linux kernel to version 4.13.0-17.20 or later.
Are there any security advisories related to CVE-2017-1000255?
Yes, you can find more information about CVE-2017-1000255 in the following security advisories: http://seclists.org/oss-sec/2017/q4/51
Where can I find the source code patches for CVE-2017-1000255?
You can find the source code patches for CVE-2017-1000255 in the following Git commits: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5d176f751ee3, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=265e60a170d0a0ecfc2d20490134ed2c48dd45ab