Cloudanix VulnDB

CVE-2021-20239

Low · 3.3

CVSS

3.3

EPSS

0.3%

Published

May 28, 2021

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in older Linux kernels lets someone who already has an account on the computer peek at secret internal memory locations that could help them break into the rest of the system.

Chainable
Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Data Exposure
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Medium

What it actually does

The flaw permits a local user to craft BPF programs that disclose kernel memory addresses, bypassing KASLR and exposing internal kernel layout information.

Why it matters to the business

Attackers who already have a local account can obtain information that makes subsequent kernel exploits easier, increasing the chance of full system compromise and data exposure on affected Linux systems.

How an attack unfolds

An attacker with a local shell account compiles and loads a malicious BPF program that triggers the address leak in the kernel's BPF verifier or map handling, then reads the disclosed addresses to map kernel memory for further attacks.

How to fix it

Upgrade the Linux kernel to version 5.4.92 or newer on all affected distributions; rebuild and reboot into the patched kernel. Where immediate upgrade is impossible, restrict unprivileged BPF loading via the kernel.unprivileged_bpf_disabled sysctl.

How to confirm the fix worked

Run 'uname -r' and confirm the running kernel is 5.4.92 or later; verify sysctl kernel.unprivileged_bpf_disabled is set if the upgrade is deferred; test with known BPF address-leak PoCs in a lab environment.

Typical attack path

  1. Obtain a local user account on the target system
  2. Compile and attach a crafted BPF program that exercises the vulnerable code path
  3. Read leaked kernel addresses from userspace via BPF map output or error messages
  4. Use disclosed addresses to defeat KASLR and prepare follow-on kernel exploits

How to detect it

Review authentication logs for unexpected local logins, auditd records of bpf syscall usage by non-root users, and any post-exploitation activity that follows address disclosure patterns; no widespread public exploits are known.

What your security team should do

  • Prioritize kernel upgrades on internet-facing or multi-tenant systems within the next patch cycle
  • Enable kernel.unprivileged_bpf_disabled=1 on systems that do not require unprivileged BPF
  • Monitor for new public exploits given the long publication window and low EPSS

The record

A flaw was found in the Linux kernel in versions before 5.4.92 in the BPF protocol. This flaw allows an attacker with a local account to leak information about kernel internal addresses. The highest threat from this vulnerability is to confidentiality.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 kernel-tools-libs-devel 0 4.18.0-348.el8
Debian:11 linux 0 5.10.4-1
Debian:12 linux 0 5.10.4-1
Debian:13 linux 0 5.10.4-1
Red Hat:enterprise_linux:8::baseos bpftool 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos bpftool-debuginfo 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-abi-stablelists 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-core 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-cross-headers 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-debug 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-core 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-debuginfo 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-devel 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-modules 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-modules-extra 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-aarch64 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-ppc64le 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-s390x 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-x86_64 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-devel 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-doc 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-headers 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-modules 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-modules-extra 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-tools 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-debuginfo 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-libs 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-libs-devel 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-core 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-debuginfo 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-devel 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules-extra 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos perf 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos perf-debuginfo 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos python3-perf 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::baseos python3-perf-debuginfo 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb bpftool 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb bpftool-debuginfo 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-abi-stablelists 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-core 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-cross-headers 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-debug 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-debug-core 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-debug-debuginfo 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-debug-devel 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-debug-modules 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-debug-modules-extra 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-aarch64 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-ppc64le 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-s390x 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-x86_64 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-devel 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-doc 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-headers 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-modules 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-modules-extra 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-tools 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-tools-debuginfo 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-tools-libs 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-tools-libs-devel 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-core 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-debuginfo 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-devel 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-modules 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-modules-extra 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb perf 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb perf-debuginfo 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb python3-perf 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::crb python3-perf-debuginfo 0 0:4.18.0-348.el8
Red Hat:enterprise_linux:8::nfv kernel-rt 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-core 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-core 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-debuginfo 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-devel 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-kvm 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-modules 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-modules-extra 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debuginfo 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debuginfo-common-x86_64 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-devel 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-kvm 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-modules 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-modules-extra 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-core 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-core 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-debuginfo 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-devel 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-kvm 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-modules 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-modules-extra 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debuginfo 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debuginfo-common-x86_64 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-devel 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-kvm 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-modules 0 0:4.18.0-348.rt7.130.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-modules-extra 0 0:4.18.0-348.rt7.130.el8
Ubuntu:14.04:LTS linux 0 3.11.0-12.19
Ubuntu:14.04:LTS linux-aws 0 4.4.0-1002.2
Ubuntu:14.04:LTS linux-azure 0 4.15.0-1023.24~14.04.1
Ubuntu:14.04:LTS linux-lts-xenial 0 4.4.0-13.29~14.04.1
Ubuntu:16.04:LTS linux 0 4.2.0-16.19
Ubuntu:16.04:LTS linux 0 4.4.0-2.16
Ubuntu:16.04:LTS linux-aws 0 4.4.0-1001.10
Ubuntu:16.04:LTS linux-aws-hwe 0 4.15.0-1030.31~16.04.1
Ubuntu:16.04:LTS linux-azure 0 4.11.0-1009.9
Ubuntu:16.04:LTS linux-gcp 0 4.10.0-1004.4
Ubuntu:16.04:LTS linux-hwe 0 4.8.0-36.36~16.04.1
Ubuntu:16.04:LTS linux-hwe 0 4.8.0-39.42~16.04.1
Ubuntu:16.04:LTS linux-hwe-edge 0 No fix
Ubuntu:16.04:LTS linux-kvm 0 4.4.0-1004.9
Ubuntu:16.04:LTS linux-oracle 0 4.15.0-1007.9~16.04.1
Ubuntu:16.04:LTS linux-raspi2 0 4.2.0-1013.19
Ubuntu:16.04:LTS linux-snapdragon 0 4.4.0-1013.15
Ubuntu:18.04:LTS linux 0 4.13.0-16.19
Ubuntu:18.04:LTS linux-aws 0 4.15.0-1001.1
Ubuntu:18.04:LTS linux-aws-5.0 0 No fix
Ubuntu:18.04:LTS linux-aws-5.3 0 No fix
Ubuntu:18.04:LTS linux-aws-5.4 0 5.4.0-1039.41~18.04.1
Ubuntu:18.04:LTS linux-azure 0 No fix
Ubuntu:18.04:LTS linux-azure-4.15 0 4.15.0-1082.92
Ubuntu:18.04:LTS linux-azure-5.3 0 No fix
Ubuntu:18.04:LTS linux-azure-5.4 0 5.4.0-1041.43~18.04.1
Ubuntu:18.04:LTS linux-azure-edge 0 No fix
Ubuntu:18.04:LTS linux-dell300x 0 4.15.0-1005.8
Ubuntu:18.04:LTS linux-gcp 0 No fix
Ubuntu:18.04:LTS linux-gcp-4.15 0 4.15.0-1071.81
Ubuntu:18.04:LTS linux-gcp-5.3 0 No fix
Ubuntu:18.04:LTS linux-gcp-5.4 0 5.4.0-1038.41~18.04.1
Ubuntu:18.04:LTS linux-gcp-edge 0 No fix
Ubuntu:18.04:LTS linux-gke-4.15 0 No fix
Ubuntu:18.04:LTS linux-gke-5.4 0 5.4.0-1037.39~18.04.1
Ubuntu:18.04:LTS linux-gkeop-5.4 0 5.4.0-1011.12~18.04.2
Ubuntu:18.04:LTS linux-hwe 0 No fix
Ubuntu:18.04:LTS linux-hwe-5.4 0 5.4.0-67.75~18.04.1
Ubuntu:18.04:LTS linux-hwe-edge 0 No fix
Ubuntu:18.04:LTS linux-ibm-5.4 0 5.4.0-1010.11~18.04.2
Ubuntu:18.04:LTS linux-kvm 0 4.15.0-1002.2
Ubuntu:18.04:LTS linux-oem 0 No fix
Ubuntu:18.04:LTS linux-oem-osp1 0 5.0.0-1010.11
Ubuntu:18.04:LTS linux-oracle 0 4.15.0-1007.9
Ubuntu:18.04:LTS linux-oracle-5.0 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.3 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.4 0 5.4.0-1039.42~18.04.1
Ubuntu:18.04:LTS linux-raspi-5.4 0 5.4.0-1030.33~18.04.1
Ubuntu:18.04:LTS linux-raspi2 0 4.13.0-1005.5
Ubuntu:18.04:LTS linux-snapdragon 0 4.4.0-1077.82
Ubuntu:20.04:LTS linux 0 5.4.0-67.75
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1039.41
Ubuntu:20.04:LTS linux-aws-5.11 0 5.11.0-1009.9~20.04.2
Ubuntu:20.04:LTS linux-aws-5.13 0 5.13.0-1008.9~20.04.2
Ubuntu:20.04:LTS linux-aws-5.15 0 5.15.0-1014.18~20.04.1
Ubuntu:20.04:LTS linux-aws-5.8 0 5.8.0-1035.37~20.04.1
Ubuntu:20.04:LTS linux-azure 0 5.4.0-1041.43
Ubuntu:20.04:LTS linux-azure-5.11 0 5.11.0-1007.7~20.04.2
Ubuntu:20.04:LTS linux-azure-5.13 0 5.13.0-1009.10~20.04.2
Ubuntu:20.04:LTS linux-azure-5.15 0 5.15.0-1007.8~20.04.1
Ubuntu:20.04:LTS linux-azure-5.8 0 5.8.0-1033.35~20.04.1
Ubuntu:20.04:LTS linux-azure-fde-5.15 0 5.15.0-1019.24~20.04.1.1
Ubuntu:20.04:LTS linux-bluefield 0 5.4.0-1011.14
Ubuntu:20.04:LTS linux-gcp 0 5.4.0-1038.41
Ubuntu:20.04:LTS linux-gcp-5.11 0 5.11.0-1009.10~20.04.1
Ubuntu:20.04:LTS linux-gcp-5.13 0 5.13.0-1008.9~20.04.3
Ubuntu:20.04:LTS linux-gcp-5.15 0 5.15.0-1006.9~20.04.1
Ubuntu:20.04:LTS linux-gcp-5.8 0 5.8.0-1032.34~20.04.1
Ubuntu:20.04:LTS linux-gke 0 5.4.0-1037.39
Ubuntu:20.04:LTS linux-gkeop 0 5.4.0-1011.12
Ubuntu:20.04:LTS linux-gkeop-5.15 0 5.15.0-1003.5~20.04.2
Ubuntu:20.04:LTS linux-hwe-5.11 0 5.11.0-22.23~20.04.1
Ubuntu:20.04:LTS linux-hwe-5.13 0 5.13.0-21.21~20.04.1
Ubuntu:20.04:LTS linux-hwe-5.15 0 5.15.0-33.34~20.04.1
Ubuntu:20.04:LTS linux-hwe-5.8 0 5.8.0-49.55~20.04.1
Ubuntu:20.04:LTS linux-ibm 0 5.4.0-1003.4
Ubuntu:20.04:LTS linux-ibm-5.15 0 5.15.0-1033.36~20.04.1
Ubuntu:20.04:LTS linux-intel-5.13 0 5.13.0-1007.7
Ubuntu:20.04:LTS linux-intel-iotg-5.15 0 5.15.0-1003.5~20.04.1
Ubuntu:20.04:LTS linux-iot 0 5.4.0-1001.3
Ubuntu:20.04:LTS linux-kvm 0 5.4.0-1034.35
Ubuntu:20.04:LTS linux-lowlatency-hwe-5.15 0 5.15.0-33.34~20.04.1
Ubuntu:20.04:LTS linux-oem-5.10 0 5.10.0-1008.9
Ubuntu:20.04:LTS linux-oem-5.13 0 5.13.0-1009.10
Ubuntu:20.04:LTS linux-oem-5.14 0 5.14.0-1004.4
Ubuntu:20.04:LTS linux-oem-5.6 0 5.6.0-1050.54
Ubuntu:20.04:LTS linux-oracle 0 5.4.0-1039.42
Ubuntu:20.04:LTS linux-oracle-5.11 0 5.11.0-1008.8~20.04.1
Ubuntu:20.04:LTS linux-oracle-5.13 0 5.13.0-1011.13~20.04.2
Ubuntu:20.04:LTS linux-oracle-5.15 0 5.15.0-1007.9~20.04.1
Ubuntu:20.04:LTS linux-oracle-5.8 0 5.8.0-1031.32~20.04.2
Ubuntu:20.04:LTS linux-raspi 0 5.4.0-1030.33
Ubuntu:20.04:LTS linux-raspi2 0 No fix
Ubuntu:20.04:LTS linux-riscv 0 No fix

Related vulnerabilities