// For flags

CVE-2017-1000255

kernel: Arbitrary stack overwrite causing oops via crafted signal frame

Severity Score

5.5
*CVSS v3

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

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.

Cuando Linux se ejecuta en hardware PowerPC (Power8 o posterior), un proceso de usuario puede manipular un frame de señal y, a continuación, realizar un sigreturn para que el kernel tome un excepción (interrupt) y emplee el valor r1 (desde el frame de señal) como el puntero de la pila del kernel. Como parte de la entrada de excepción, el contenido del frame de señal está escrito en la pila del kernel, permitiendo que un atacante sobrescriba localizaciones arbitrarias con valores arbitrarios. La manipulación de excepciones produce un error OOPS y pánico si panic_on_oops=1, pero solo una vez se haya sobrescrito la memoria de la pila. Este fallo fue introducido en el commit con ID: "5d176f751ee3 (powerpc: tm: Enable transactional memory (TM) lazily for userspace)" que se ha combinado de forma ascendente en v4.9-rc1. Se debe tener en cuenta que los kernels compilados con CONFIG_PPC_TRANSACTIONAL_MEM=n no son vulnerables.

A flaw was found in the Linux kernel's handling of signal frame on PowerPC systems. A malicious local user process could craft a signal frame allowing an attacker to corrupt memory.

*Credits: N/A
CVSS Scores
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
High
Attack Vector
Local
Attack Complexity
Low
Authentication
None
Confidentiality
None
Integrity
Complete
Availability
Complete
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2017-10-06 CVE Reserved
  • 2017-10-11 CVE Published
  • 2023-03-08 EPSS Updated
  • 2024-08-05 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-787: Out-of-bounds Write
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
--
Affected
in Ibm
Search vendor "Ibm"
Powerpc Power8
Search vendor "Ibm" for product "Powerpc Power8"
--
Safe
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
--
Affected
in Ibm
Search vendor "Ibm"
Powerpc Power9
Search vendor "Ibm" for product "Powerpc Power9"
--
Safe