Bug 1575473 (CVE-2018-1121) - CVE-2018-1121 procps-ng, procps: process hiding through race condition enumerating /proc
Summary: CVE-2018-1121 procps-ng, procps: process hiding through race condition enumer...
Status: CLOSED WONTFIX
Alias: CVE-2018-1121
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard: impact=low,public=20180517:1700,repor...
Keywords: Security
Depends On:
Blocks: 1575455
TreeView+ depends on / blocked
 
Reported: 2018-05-07 04:16 UTC by Doran Moppert
Modified: 2019-06-08 22:51 UTC (History)
7 users (show)

(edit)
Since the kernel's proc_pid_readdir() returns PID entries in ascending numeric order, a process occupying a high PID can use inotify events to determine when the process list is being scanned, and fork/exec to obtain a lower PID, thus avoiding enumeration. An unprivileged attacker can hide a process from procps-ng's utilities by exploiting a race condition in reading /proc/PID entries.
Clone Of:
(edit)
Last Closed: 2018-06-04 09:25:32 UTC


Attachments (Terms of Use)

Description Doran Moppert 2018-05-07 04:16:05 UTC
An unprivileged attacker can hide a process from procps-ng's utilities by exploiting a race condition in reading /proc/PID entries.

Since the kernel's proc_pid_readdir() returns PID entries in ascending numeric order, a process occupying a high PID can use inotify events to determine when the process list is being scanned, and fork/exec to obtain a lower PID, thus avoiding enumeration.

Comment 3 Doran Moppert 2018-05-11 02:58:00 UTC
Statement:

The /proc filesystem is not a reliable mechanism to account for processes running on a system, as it is unable to offer snapshot semantics. Short-lived processes have always been able to escape detection by tools that monitor /proc. This CVE simply identifies a reliable way to do so using inotify.

Process accounting for security purposes, or with a requirement to record very short-running processes and those attempting to evade detection, should be performed with more robust methods such as auditd(8) (the Linux Audit Daemon) or systemtap.

Comment 4 Adam Mariš 2018-05-16 11:17:41 UTC
Acknowledgments:

Name: Qualys Research Labs

Comment 5 Doran Moppert 2018-05-18 05:13:31 UTC
Public via: http://seclists.org/oss-sec/2018/q2/122

Comment 6 Doran Moppert 2018-05-18 05:13:37 UTC
External References:

https://www.qualys.com/2018/05/17/procps-ng-audit-report-advisory.txt


Note You need to log in before you can comment on or make changes to this bug.