In the Linux kernel before 5.1.17, ptrace_link in kernel/ptrace.c mishandles the recording of the credentials of a process that wants to create a ptrace relationship, which allows local users to obtain root access by leveraging certain scenarios with a parent-child process relationship, where a parent drops privileges and calls execve (potentially allowing control by an attacker). One contributing factor is an object lifetime issue (which can also cause a panic). Another contributing factor is incorrect marking of a ptrace relationship as privileged, which is exploitable through (for example) Polkits pkexec helper with PTRACE_TRACEME. NOTE: SELinux deny_ptrace might be a usable workaround in some environments.
The product does not properly assign, modify, track, or check privileges for an actor, creating an unintended sphere of control for that actor.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Linux_kernel | Linux | 4.10 | * |
Linux_kernel | Linux | 4.20 | * |
Linux_kernel | Linux | 4.15 | * |
Linux_kernel | Linux | 3.16.52 | * |
Linux_kernel | Linux | 4.9.1 | * |
Linux_kernel | Linux | 4.1.39 | * |
Linux_kernel | Linux | 4.4.40 | * |
Linux_kernel | Linux | 4.8.16 | * |