Out-of-bounds write in Linux kernel - CVE-2021-3490

 

Out-of-bounds write in Linux kernel - CVE-2021-3490

Published: August 19, 2021 / Updated: February 14, 2024


Vulnerability identifier: #VU55975
CSH Severity: Low
CVSS v4: 8.5 [CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N]
CVE-ID: CVE-2021-3490
CWE-ID: CWE-787
Exploitation vector: Local access
Exploit availability: The vulnerability is being exploited in the wild

Vulnerability details

The vulnerability allows a local user to escalate privileges on the system.

The vulnerability exists due to a boundary error when processing untrusted input in bpf. The eBPF ALU32 bounds tracking for bitwise ops (AND, OR and XOR) in the Linux kernel did not properly update 32-bit bounds, which could be turned into out of bounds reads and writes in the Linux kernel and therefore, arbitrary code execution. A local user can run a specially crafted program to trigger an out-of-bounds write and execute arbitrary code with elevated privileges.


Affected software

Linux kernel
SUSE Linux Enterprise Module for Public Cloud
SUSE Linux Enterprise Workstation Extension
SUSE Linux Enterprise Module for Live Patching
SUSE Linux Enterprise Module for Legacy Software
SUSE Linux Enterprise Module for Development Tools
SUSE Linux Enterprise Module for Basesystem
SUSE Linux Enterprise High Availability
Ubuntu
Fedora
kernel-livepatch-5_3_18-59_5-default
kernel-livepatch-5_3_18-59_5-default-debuginfo
kernel-livepatch-SLE15-SP3_Update_1-debugsource
kernel-livepatch-5_3_18-57-default
kernel-livepatch-5_3_18-57-default-debuginfo
kernel-livepatch-SLE15-SP3_Update_0-debugsource
kernel-azure
kernel-source-azure
kernel-devel-azure
kernel-syms-azure
kernel-azure-devel-debuginfo
kernel-azure-devel
kernel-azure-debugsource
kernel-azure-debuginfo
kernel-syms
kernel-obs-build-debugsource
kernel-obs-build
kernel-devel
kernel-64kb-devel-debuginfo
kernel-64kb-devel
kernel-64kb-debugsource
kernel-macros
kernel-zfcpdump
kernel-64kb-debuginfo
ocfs2-kmp-default
kernel-64kb
kernel-zfcpdump-debuginfo
kernel-zfcpdump-debugsource
cluster-md-kmp-default
cluster-md-kmp-default-debuginfo
dlm-kmp-default
dlm-kmp-default-debuginfo
gfs2-kmp-default
gfs2-kmp-default-debuginfo
ocfs2-kmp-default-debuginfo
kernel-default-livepatch
kernel-default-debuginfo
kernel-default-debugsource
kernel-default-extra
kernel-default-extra-debuginfo
kernel-preempt-debuginfo
kernel-preempt
kernel-preempt-debugsource
kernel-preempt-extra
kernel-preempt-extra-debuginfo
kernel-default-livepatch-devel
reiserfs-kmp-default
reiserfs-kmp-default-debuginfo
kernel-preempt-devel
kernel-preempt-devel-debuginfo
kernel-docs
kernel-source
kernel-default
kernel-default-devel
kernel-default-devel-debuginfo
kernel-default-base
linux-image-oem-20.04 (Ubuntu package)
linux-image-virtual (Ubuntu package)
linux-image-generic (Ubuntu package)
linux-image-generic-64k (Ubuntu package)
linux-image-generic-lpae (Ubuntu package)
linux-image-lowlatency (Ubuntu package)
linux-image-5.8.0-53-generic (Ubuntu package)
linux-image-5.8.0-53-lowlatency (Ubuntu package)
linux-image-5.8.0-53-generic-lpae (Ubuntu package)
linux-image-5.8.0-53-generic-64k (Ubuntu package)
linux-image-virtual-hwe-20.04 (Ubuntu package)
linux-image-generic-64k-hwe-20.04 (Ubuntu package)
linux-image-generic-hwe-20.04 (Ubuntu package)
linux-image-generic-lpae-hwe-20.04 (Ubuntu package)
linux-image-lowlatency-hwe-20.04 (Ubuntu package)
linux-image-5.8.0-1024-raspi-nolpae (Ubuntu package)
linux-image-5.8.0-1024-raspi (Ubuntu package)
linux-image-raspi (Ubuntu package)
linux-image-raspi-nolpae (Ubuntu package)
linux-image-kvm (Ubuntu package)
linux-image-5.8.0-1027-kvm (Ubuntu package)
linux-image-oracle (Ubuntu package)
linux-image-5.8.0-1029-oracle (Ubuntu package)
linux-image-gke (Ubuntu package)
linux-image-gcp (Ubuntu package)
linux-image-5.8.0-1031-gcp (Ubuntu package)
linux-image-azure (Ubuntu package)
linux-image-5.8.0-1032-azure (Ubuntu package)
linux-image-5.8.0-1033-aws (Ubuntu package)
linux-image-aws (Ubuntu package)
linux-image-oem-20.04b (Ubuntu package)
linux-image-5.10.0-1026-oem (Ubuntu package)
linux-image-5.11.0-17-generic (Ubuntu package)
linux-image-5.11.0-17-generic-64k (Ubuntu package)
linux-image-5.11.0-17-generic-lpae (Ubuntu package)
linux-image-5.11.0-17-lowlatency (Ubuntu package)
linux-image-5.11.0-1005-azure (Ubuntu package)
linux-image-5.11.0-1006-oracle (Ubuntu package)
linux-image-5.11.0-1007-kvm (Ubuntu package)
linux-image-5.11.0-1007-aws (Ubuntu package)
linux-image-5.11.0-1007-gcp (Ubuntu package)
linux-image-5.11.0-1008-raspi (Ubuntu package)
linux-image-5.11.0-1008-raspi-nolpae (Ubuntu package)
kernel
kernel-headers
kernel-tools

How to mitigate CVE-2021-3490

Install updates from vendor's website.

kernel-livepatch-5_3_18-59_5-default - update to 1-7.5.1
kernel-livepatch-5_3_18-59_5-default-debuginfo - update to 1-7.5.1
kernel-livepatch-SLE15-SP3_Update_1-debugsource - update to 1-7.5.1
kernel-livepatch-5_3_18-57-default - update to 2-3.1
kernel-livepatch-5_3_18-57-default-debuginfo - update to 2-3.1
kernel-livepatch-SLE15-SP3_Update_0-debugsource - update to 2-3.1
kernel-azure - update to 5.3.18-38.3.1
kernel-source-azure - update to 5.3.18-38.3.1
kernel-devel-azure - update to 5.3.18-38.3.1
kernel-syms-azure - update to 5.3.18-38.3.1
kernel-azure-devel-debuginfo - update to 5.3.18-38.3.1
kernel-azure-devel - update to 5.3.18-38.3.1
kernel-azure-debugsource - update to 5.3.18-38.3.1
kernel-azure-debuginfo - update to 5.3.18-38.3.1
kernel-syms - update to 5.3.18-59.5.1
kernel-obs-build-debugsource - update to 5.3.18-59.5.1
kernel-obs-build - update to 5.3.18-59.5.1
kernel-devel - update to 5.3.18-59.5.2
kernel-64kb-devel-debuginfo - update to 5.3.18-59.5.2
kernel-64kb-devel - update to 5.3.18-59.5.2
kernel-64kb-debugsource - update to 5.3.18-59.5.2
kernel-macros - update to 5.3.18-59.5.2
kernel-zfcpdump - update to 5.3.18-59.5.2
kernel-64kb-debuginfo - update to 5.3.18-59.5.2
ocfs2-kmp-default - update to 5.3.18-59.5.2
kernel-64kb - update to 5.3.18-59.5.2
kernel-zfcpdump-debuginfo - update to 5.3.18-59.5.2
kernel-zfcpdump-debugsource - update to 5.3.18-59.5.2
cluster-md-kmp-default - update to 5.3.18-59.5.2
cluster-md-kmp-default-debuginfo - update to 5.3.18-59.5.2
dlm-kmp-default - update to 5.3.18-59.5.2
dlm-kmp-default-debuginfo - update to 5.3.18-59.5.2
gfs2-kmp-default - update to 5.3.18-59.5.2
gfs2-kmp-default-debuginfo - update to 5.3.18-59.5.2
ocfs2-kmp-default-debuginfo - update to 5.3.18-59.5.2
kernel-default-livepatch - update to 5.3.18-59.5.2
kernel-default-debuginfo - update to 5.3.18-59.5.2
kernel-default-debugsource - update to 5.3.18-59.5.2
kernel-default-extra - update to 5.3.18-59.5.2
kernel-default-extra-debuginfo - update to 5.3.18-59.5.2
kernel-preempt-debuginfo - update to 5.3.18-59.5.2
kernel-preempt - update to 5.3.18-59.5.2
kernel-preempt-debugsource - update to 5.3.18-59.5.2
kernel-preempt-extra - update to 5.3.18-59.5.2
kernel-preempt-extra-debuginfo - update to 5.3.18-59.5.2
kernel-default-livepatch-devel - update to 5.3.18-59.5.2
reiserfs-kmp-default - update to 5.3.18-59.5.2
reiserfs-kmp-default-debuginfo - update to 5.3.18-59.5.2
kernel-preempt-devel - update to 5.3.18-59.5.2
kernel-preempt-devel-debuginfo - update to 5.3.18-59.5.2
kernel-docs - update to 5.3.18-59.5.2
kernel-source - update to 5.3.18-59.5.2
kernel-default - update to 5.3.18-59.5.2
kernel-default-devel - update to 5.3.18-59.5.2
kernel-default-devel-debuginfo - update to 5.3.18-59.5.2
kernel-default-base - update to 5.3.18-59.5.2.18.2.2
linux-image-oem-20.04 (Ubuntu package) - update to 5.8.0.53.58
linux-image-virtual (Ubuntu package) - addressed in versions 5.8.0.53.58, 5.11.0.17.18
linux-image-generic (Ubuntu package) - addressed in versions 5.8.0.53.58, 5.11.0.17.18
linux-image-generic-64k (Ubuntu package) - addressed in versions 5.8.0.53.58, 5.11.0.17.18
linux-image-generic-lpae (Ubuntu package) - addressed in versions 5.8.0.53.58, 5.11.0.17.18
linux-image-lowlatency (Ubuntu package) - addressed in versions 5.8.0.53.58, 5.11.0.17.18
linux-image-5.8.0-53-generic (Ubuntu package) - update to 5.8.0-53.60~20.04.1
linux-image-5.8.0-53-lowlatency (Ubuntu package) - update to 5.8.0-53.60~20.04.1
linux-image-5.8.0-53-generic-lpae (Ubuntu package) - update to 5.8.0-53.60~20.04.1
linux-image-5.8.0-53-generic-64k (Ubuntu package) - update to 5.8.0-53.60~20.04.1
linux-image-virtual-hwe-20.04 (Ubuntu package) - update to 5.8.0.53.60~20.04.37
linux-image-generic-64k-hwe-20.04 (Ubuntu package) - update to 5.8.0.53.60~20.04.37
linux-image-generic-hwe-20.04 (Ubuntu package) - update to 5.8.0.53.60~20.04.37
linux-image-generic-lpae-hwe-20.04 (Ubuntu package) - update to 5.8.0.53.60~20.04.37
linux-image-lowlatency-hwe-20.04 (Ubuntu package) - update to 5.8.0.53.60~20.04.37
linux-image-5.8.0-1024-raspi-nolpae (Ubuntu package) - update to 5.8.0-1024.27
linux-image-5.8.0-1024-raspi (Ubuntu package) - update to 5.8.0-1024.27
linux-image-raspi (Ubuntu package) - addressed in versions 5.8.0.1024.27, 5.11.0.1008.6
linux-image-raspi-nolpae (Ubuntu package) - addressed in versions 5.8.0.1024.27, 5.11.0.1008.6
linux-image-kvm (Ubuntu package) - addressed in versions 5.8.0.1027.29, 5.11.0.1007.7
linux-image-5.8.0-1027-kvm (Ubuntu package) - update to 5.8.0-1027.29
linux-image-oracle (Ubuntu package) - addressed in versions 5.8.0.1029.28, 5.11.0.1006.6
linux-image-5.8.0-1029-oracle (Ubuntu package) - update to 5.8.0-1029.30
linux-image-gke (Ubuntu package) - addressed in versions 5.8.0.1031.31, 5.11.0.1007.7
linux-image-gcp (Ubuntu package) - addressed in versions 5.8.0.1031.31, 5.11.0.1007.7
linux-image-5.8.0-1031-gcp (Ubuntu package) - update to 5.8.0-1031.32
linux-image-azure (Ubuntu package) - addressed in versions 5.8.0.1032.32, 5.11.0.1005.5
linux-image-5.8.0-1032-azure (Ubuntu package) - update to 5.8.0-1032.34
linux-image-5.8.0-1033-aws (Ubuntu package) - update to 5.8.0-1033.35
linux-image-aws (Ubuntu package) - addressed in versions 5.8.0.1033.35, 5.11.0.1007.7
linux-image-oem-20.04b (Ubuntu package) - update to 5.10.0.1026.27
linux-image-5.10.0-1026-oem (Ubuntu package) - update to 5.10.0-1026.27
linux-image-5.11.0-17-generic (Ubuntu package) - update to 5.11.0-17.18
linux-image-5.11.0-17-generic-64k (Ubuntu package) - update to 5.11.0-17.18
linux-image-5.11.0-17-generic-lpae (Ubuntu package) - update to 5.11.0-17.18
linux-image-5.11.0-17-lowlatency (Ubuntu package) - update to 5.11.0-17.18
linux-image-5.11.0-1005-azure (Ubuntu package) - update to 5.11.0-1005.5
linux-image-5.11.0-1006-oracle (Ubuntu package) - update to 5.11.0-1006.6
linux-image-5.11.0-1007-kvm (Ubuntu package) - update to 5.11.0-1007.7
linux-image-5.11.0-1007-aws (Ubuntu package) - update to 5.11.0-1007.7
linux-image-5.11.0-1007-gcp (Ubuntu package) - update to 5.11.0-1007.7
linux-image-5.11.0-1008-raspi (Ubuntu package) - update to 5.11.0-1008.8
linux-image-5.11.0-1008-raspi-nolpae (Ubuntu package) - update to 5.11.0-1008.8
kernel - addressed in versions 5.11.20-100.fc32, 5.11.20-200.fc33, 5.11.20-300.fc34
kernel-headers - addressed in versions 5.11.20-100.fc32, 5.11.20-200.fc33, 5.11.20-300.fc34
kernel-tools - addressed in versions 5.11.20-100.fc32, 5.11.20-200.fc33, 5.11.20-300.fc34

Links to Public Exploits and PoC-codes

External References

Related Security Bulletins