CVE-2019-3901 json
A race condition in perf_event_open() allows local attackers to leak sensitive data from setuid programs.
published 2019-04-22 7 y ago modified 2026-06-17 4 mo ago also EUVD-2019-13509
- cvss
- 5.6
- version 3.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 27%
- public exploits
- 0
- none known
Summary
A race condition in perf_event_open() allows local attackers to leak sensitive data from setuid programs. As no relevant locks (in particular the cred_guard_mutex) are held during the ptrace_may_access() call, it is possible for the specified target task to perform an execve() syscall with setuid execution before perf_event_alloc() actually attaches to it, allowing an attacker to bypass the ptrace_may_access() check and the perf_event_exit_task(current) call that is performed in install_exec_creds() during privileged execve() calls. This issue affects kernel versions before 4.8.
Patch / fix
- linux linux_kernel 4.8
- linux Debian 14, Debian 13, Debian 12 4.6.1-1
debian advisories DEBIAN-CVE-2019-3901
- linux Ubuntu 16.04 LTS 4.4.0-28.47
- linux-raspi2 Ubuntu 16.04 LTS 4.4.0-1016.22
- linux-lts-xenial Ubuntu 14.04 LTS 4.4.0-28.47~14.04.1
- linux-snapdragon Ubuntu 16.04 LTS 4.4.0-1019.22
ubuntu advisories UBUNTU-CVE-2019-3901
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel RHEL 7 3.10.0-1127.el7
- perf RHEL 7 3.10.0-1127.el7
- bpftool RHEL 7 3.10.0-1127.el7
- python-perf RHEL 7 3.10.0-1127.el7
- kernel-kdump RHEL 7 3.10.0-1127.el7
- kernel-tools RHEL 7 3.10.0-1127.el7
- kernel-tools-libs RHEL 7 3.10.0-1127.el7
- kernel-bootwrapper RHEL 7 3.10.0-1127.el7
red hat advisories RHSA-2020:1016RHSA-2020:2851RHSA-2020:2522RHSA-2020:1070
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2019-3901 updated cvss 5.6
kernel: perf_event_open() and execve() race in setuid programs allows a data leak
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 moreaffected: no fix planned “Will not fix”
-
Red Hat Enterprise MRG 2 kernel-rt, mrg-rt-release, kernel-rt-trace, kernel-rt-vanilla, kernel-rt-firmwareaffected: no fix planned “Out of support scope”
-
Red Hat Enterprise Linux Client (v. 7) perf 3.10.0-1127.el7, kernel 3.10.0-1127.el7, bpftool 3.10.0-1127.el7, python-perf 3.10.0-1127.el7, kernel-tools 3.10.0-1127.el7, kernel-tools-libs 3.10.0-1127.el7, +2 more Red Hat Enterprise Linux Client Optional (v. 7) kernel-debuginfo-common-x86_64 3.10.0-1127.el7 Red Hat Enterprise Linux ComputeNode (v. 7) perf 3.10.0-1127.el7, kernel 3.10.0-1127.el7, bpftool 3.10.0-1127.el7, python-perf 3.10.0-1127.el7, kernel-tools 3.10.0-1127.el7, kernel-tools-libs 3.10.0-1127.el7, +2 morefixed: vendor fix RHSA-2020:1016
-
Red Hat Enterprise Linux ComputeNode EUS (v. 7.6) perf 3.10.0-957.56.1.el7, kernel 3.10.0-957.56.1.el7, bpftool 3.10.0-957.56.1.el7, python-perf 3.10.0-957.56.1.el7, kernel-tools 3.10.0-957.56.1.el7, kernel-tools-libs 3.10.0-957.56.1.el7, +2 morefixed: vendor fix RHSA-2020:2851
-
Red Hat Enterprise Linux ComputeNode EUS (v. 7.7) perf 3.10.0-1062.26.1.el7, kernel 3.10.0-1062.26.1.el7, bpftool 3.10.0-1062.26.1.el7, python-perf 3.10.0-1062.26.1.el7, kernel-tools 3.10.0-1062.26.1.el7, kernel-tools-libs 3.10.0-1062.26.1.el7, +2 morefixed: vendor fix RHSA-2020:2522
-
Red Hat Enterprise Linux ComputeNode Optional (v. 7) kernel-debuginfo-common-x86_64 3.10.0-1127.el7fixed: vendor fix RHSA-2020:1016
-
Red Hat Enterprise Linux ComputeNode Optional EUS (v. 7.6) kernel-debuginfo-common-x86_64 3.10.0-957.56.1.el7fixed: vendor fix RHSA-2020:2851
-
Red Hat Enterprise Linux ComputeNode Optional EUS (v. 7.7) kernel-debuginfo-common-x86_64 3.10.0-1062.26.1.el7fixed: vendor fix RHSA-2020:2522
show 10 moreshow fewer
-
Red Hat Enterprise Linux for Real Time (v. 7) kernel-rt 3.10.0-1127.rt56.1093.el7, kernel-rt-trace 3.10.0-1127.rt56.1093.el7, kernel-rt-debuginfo-common-x86_64 3.10.0-1127.rt56.1093.el7 Red Hat Enterprise Linux for Real Time for NFV (v. 7) kernel-rt 3.10.0-1127.rt56.1093.el7, kernel-rt-kvm 3.10.0-1127.rt56.1093.el7, kernel-rt-trace 3.10.0-1127.rt56.1093.el7, kernel-rt-debug-kvm 3.10.0-1127.rt56.1093.el7, kernel-rt-trace-kvm 3.10.0-1127.rt56.1093.el7, kernel-rt-debuginfo-common-x86_64 3.10.0-1127.rt56.1093.el7fixed: vendor fix RHSA-2020:1070
-
Red Hat Enterprise Linux Server (v. 7) perf 3.10.0-1127.el7, kernel 3.10.0-1127.el7, bpftool 3.10.0-1127.el7, python-perf 3.10.0-1127.el7, kernel-kdump 3.10.0-1127.el7, kernel-tools 3.10.0-1127.el7, +7 morefixed: vendor fix RHSA-2020:1016
-
Red Hat Enterprise Linux Server EUS (v. 7.6) perf 3.10.0-957.56.1.el7, kernel 3.10.0-957.56.1.el7, bpftool 3.10.0-957.56.1.el7, python-perf 3.10.0-957.56.1.el7, kernel-kdump 3.10.0-957.56.1.el7, kernel-tools 3.10.0-957.56.1.el7, +7 morefixed: vendor fix RHSA-2020:2851
-
Red Hat Enterprise Linux Server EUS (v. 7.7) perf 3.10.0-1062.26.1.el7, kernel 3.10.0-1062.26.1.el7, bpftool 3.10.0-1062.26.1.el7, python-perf 3.10.0-1062.26.1.el7, kernel-kdump 3.10.0-1062.26.1.el7, kernel-tools 3.10.0-1062.26.1.el7, +7 morefixed: vendor fix RHSA-2020:2522
-
Red Hat Enterprise Linux Server Optional (v. 7) kernel-debuginfo-common-ppc64 3.10.0-1127.el7, kernel-debuginfo-common-x86_64 3.10.0-1127.el7, kernel-debuginfo-common-ppc64le 3.10.0-1127.el7fixed: vendor fix RHSA-2020:1016
-
Red Hat Enterprise Linux Server Optional EUS (v. 7.6) kernel-debuginfo-common-ppc64 3.10.0-957.56.1.el7, kernel-debuginfo-common-x86_64 3.10.0-957.56.1.el7, kernel-debuginfo-common-ppc64le 3.10.0-957.56.1.el7fixed: vendor fix RHSA-2020:2851
-
Red Hat Enterprise Linux Server Optional EUS (v. 7.7) kernel-debuginfo-common-ppc64 3.10.0-1062.26.1.el7, kernel-debuginfo-common-x86_64 3.10.0-1062.26.1.el7, kernel-debuginfo-common-ppc64le 3.10.0-1062.26.1.el7fixed: vendor fix RHSA-2020:2522
-
Red Hat Enterprise Linux Workstation (v. 7) perf 3.10.0-1127.el7, kernel 3.10.0-1127.el7, bpftool 3.10.0-1127.el7, python-perf 3.10.0-1127.el7, kernel-tools 3.10.0-1127.el7, kernel-tools-libs 3.10.0-1127.el7, +2 more Red Hat Enterprise Linux Workstation Optional (v. 7) kernel-debuginfo-common-x86_64 3.10.0-1127.el7fixed: vendor fix RHSA-2020:1016
-
Red Hat Virtualization 4.2 Hypervisor for RHEL 7.6 EUS perf 3.10.0-957.56.1.el7, python-perf 3.10.0-957.56.1.el7fixed: vendor fix RHSA-2020:2851
-
Red Hat Enterprise Linux 5 kernel Red Hat Enterprise Linux 7 perf, kernel, kernel-alt, python-perf, kernel-kdump, kernel-tools, +3 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux ComputeNode EUS (v. 7.6) kernel-headers 3.10.0-957.56.1.el7 Red Hat Enterprise Linux Server EUS (v. 7.6) kernel-headers 3.10.0-957.56.1.el7 Red Hat Virtualization 4.2 Hypervisor for RHEL 7.6 EUS kernel-headers 3.10.0-957.56.1.el7not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.34% chance of exploitation in the next 30 days, higher than 27% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.0 | 5.6 | CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N |
| NVD | 3.1 | 4.7 | CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N |
| NVD | 2.0 | 1.9 | AV:L/AC:M/Au:N/C:P/I:N/A:N |
Affected products
- The Linux Foundation kernel
Classification
- Weakness
-
- CWE-667 Improper Locking
- Technology feeds
References
-
bugzilla.redhat.com
/show_bug.cgi?id=CVE-2019-3901
issue-tracking, patch, third-party-advisory
-
securityfocus.com
/bid/89937
vdb-entry, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2019/05/msg00041.html
mailing-list, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2019/05/msg00042.html
mailing-list, third-party-advisory
-
security.netapp.com
/advisory/ntap-20190517-0005/
third-party-advisory
Sources
- CVE List CVE-2019-3901
- NVD CVE-2019-3901
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.