CVE-2017-1000255 Memory corruption in n/a
A local attacker on PowerPC Linux can corrupt kernel memory via crafted signal frames, potentially achieving code execution or privilege escalation.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2017-1000255?
CVE-2017-1000255 is a medium-severity memory corruption vulnerability in Linux kernel, published on 30 Oct 2017. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
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 panic_on_oops=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 CONFIG_PPC_TRANSACTIONAL_MEM=n are not vulnerable.
Weakness: CWE-787
Which versions are affected by CVE-2017-1000255?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2017-1000255?
Apply the vendor's patch.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2017-1000255 being exploited?
There is no known exploitation of CVE-2017-1000255 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as DEBIAN-CVE-2017-1000255, GHSA-7w7v-hmqg-8956, UBUNTU-CVE-2017-1000255.