Use-after-free in Linux kernel - CVE-2021-46959

 

Use-after-free in Linux kernel - CVE-2021-46959

Published: May 31, 2024 / Updated: May 14, 2025


Vulnerability identifier: #VU90246
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-46959
CWE-ID: CWE-416
Exploitation vector: Local access
Exploit availability: No public exploit available

Vulnerability details

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

The vulnerability exists due to a use-after-free error within the devm_spi_alloc_master(), devm_spi_register_master() and spi_unregister_master() functions in drivers/spi/spi.c. A local user can escalate privileges on the system.


Affected software

Linux kernel
SUSE Linux Enterprise High Availability Extension 15
SUSE Linux Enterprise High Performance Computing 15
SUSE Linux Enterprise High Performance Computing LTSS 15
SUSE Linux Enterprise Server for SAP Applications 15
SUSE Linux Enterprise Server 15
SUSE Manager Server
SUSE Manager Retail Branch Server
SUSE Manager Proxy
SUSE Linux Enterprise Micro
SUSE Linux Enterprise Micro for Rancher
SUSE Enterprise Storage
Ubuntu
SUSE Linux Enterprise Server 15 SP3 Business Critical Linux
SUSE Linux Enterprise Server 15 SP3 LTSS
SUSE Linux Enterprise Live Patching
openSUSE Leap
kernel-livepatch-5_3_18-150300_59_158-default-debuginfo
kernel-livepatch-5_3_18-150300_59_158-default
kernel-livepatch-SLE15-SP3_Update_43-debugsource
kernel-livepatch-5_3_18-150300_59_158-preempt-debuginfo
kernel-livepatch-5_3_18-150300_59_158-preempt
linux (Ubuntu package)
linux-lts-xenial (Ubuntu package)
linux-fips (Ubuntu package)
linux-aws (Ubuntu package)
kernel-zfcpdump-debugsource
dtb-altera
dtb-aarch64
dtb-qcom
dtb-sprd
dtb-renesas
dtb-freescale
kselftests-kmp-64kb
dtb-allwinner
dtb-hisilicon
gfs2-kmp-64kb-debuginfo
dtb-lg
kernel-zfcpdump-debuginfo
kernel-zfcpdump
kselftests-kmp-preempt-debuginfo
ocfs2-kmp-preempt-debuginfo
cluster-md-kmp-preempt
kernel-preempt-livepatch-devel
kernel-preempt-extra-debuginfo
gfs2-kmp-preempt
reiserfs-kmp-preempt-debuginfo
kselftests-kmp-preempt
kernel-preempt-optional-debuginfo
ocfs2-kmp-preempt
reiserfs-kmp-preempt
dtb-cavium
dtb-amlogic
dtb-nvidia
dtb-apm
dlm-kmp-64kb
cluster-md-kmp-64kb-debuginfo
ocfs2-kmp-64kb-debuginfo
reiserfs-kmp-64kb
dtb-rockchip
kernel-64kb-extra
dtb-arm
kernel-64kb-optional
kernel-64kb-livepatch-devel
dlm-kmp-64kb-debuginfo
dtb-zte
dtb-amd
gfs2-kmp-64kb
dtb-marvell
kernel-64kb-extra-debuginfo
ocfs2-kmp-64kb
dtb-mediatek
dtb-socionext
kernel-64kb-optional-debuginfo
reiserfs-kmp-64kb-debuginfo
cluster-md-kmp-64kb
dtb-broadcom
dtb-al
kselftests-kmp-64kb-debuginfo
dtb-xilinx
dtb-exynos
kernel-preempt-debuginfo
kernel-debug-devel
kernel-debug-livepatch-devel
kernel-debug-debuginfo
kernel-debug
kernel-kvmsmall
kernel-source-vanilla
kernel-docs-html
kernel-64kb-debuginfo
kernel-64kb-devel-debuginfo
kernel-64kb-debugsource
kernel-64kb-devel
kernel-64kb
kernel-preempt-devel
kernel-preempt-debugsource
kernel-preempt-devel-debuginfo
kernel-preempt-extra
kernel-preempt
kernel-docs
kernel-source
kernel-devel
kernel-macros
kernel-default-devel-debuginfo
kernel-default-devel
kernel-obs-build
kernel-default-debuginfo
kernel-default-debugsource
reiserfs-kmp-default-debuginfo
reiserfs-kmp-default
kernel-obs-build-debugsource
kernel-syms
kernel-default
kernel-kvmsmall-livepatch-devel
gfs2-kmp-preempt-debuginfo
cluster-md-kmp-preempt-debuginfo
dlm-kmp-preempt
kernel-preempt-optional
dlm-kmp-preempt-debuginfo
dlm-kmp-default-debuginfo
gfs2-kmp-default
cluster-md-kmp-default-debuginfo
kernel-obs-qa
gfs2-kmp-default-debuginfo
ocfs2-kmp-default-debuginfo
kernel-default-optional-debuginfo
kernel-default-optional
kernel-default-extra-debuginfo
kernel-default-livepatch-devel
kernel-kvmsmall-devel
kernel-kvmsmall-debuginfo
kernel-debug-devel-debuginfo
kernel-kvmsmall-debugsource
kernel-debug-debugsource
kernel-kvmsmall-devel-debuginfo
kselftests-kmp-default
cluster-md-kmp-default
ocfs2-kmp-default
kernel-default-extra
dlm-kmp-default
kernel-default-livepatch
kselftests-kmp-default-debuginfo
kernel-default-base-rebuild
kernel-default-base
kernel-rt
kernel-source-rt
kernel-rt-debuginfo
kernel-rt-debugsource

How to mitigate CVE-2021-46959

Install update from vendor's website.

Linux kernel - addressed in versions 4.4.271, 4.9.271, 4.14.233, 4.19.191, 5.4.119, 5.10.37, 5.11.21, 5.12.4, 5.13
kernel-livepatch-5_3_18-150300_59_158-default-debuginfo - update to 1-150300.7.3.5
kernel-livepatch-5_3_18-150300_59_158-default - update to 1-150300.7.3.5
kernel-livepatch-SLE15-SP3_Update_43-debugsource - update to 1-150300.7.3.5
kernel-livepatch-5_3_18-150300_59_158-preempt-debuginfo - update to 1-150300.7.3.5
kernel-livepatch-5_3_18-150300_59_158-preempt - update to 1-150300.7.3.5
linux (Ubuntu package) - addressed in versions 4.4.0.268.274, 4.4.0-268.302, 4.4.0.1144.141, 4.4.0-1144.155, 4.4.0.1181.185, 4.4.0-1181.196
linux-lts-xenial (Ubuntu package) - addressed in versions 4.4.0.268.302~14.04.1, 4.4.0-268.302~14.04.1
linux-fips (Ubuntu package) - addressed in versions 4.4.0.1113.114, 4.4.0-1113.120
linux-aws (Ubuntu package) - addressed in versions 4.4.0.1143.140, 4.4.0-1143.149
kernel-zfcpdump-debugsource - update to 5.3.18-150300.59.158.1
dtb-altera - update to 5.3.18-150300.59.158.1
dtb-aarch64 - update to 5.3.18-150300.59.158.1
dtb-qcom - update to 5.3.18-150300.59.158.1
dtb-sprd - update to 5.3.18-150300.59.158.1
dtb-renesas - update to 5.3.18-150300.59.158.1
dtb-freescale - update to 5.3.18-150300.59.158.1
kselftests-kmp-64kb - update to 5.3.18-150300.59.158.1
dtb-allwinner - update to 5.3.18-150300.59.158.1
dtb-hisilicon - update to 5.3.18-150300.59.158.1
gfs2-kmp-64kb-debuginfo - update to 5.3.18-150300.59.158.1
dtb-lg - update to 5.3.18-150300.59.158.1
kernel-zfcpdump-debuginfo - update to 5.3.18-150300.59.158.1
kernel-zfcpdump - update to 5.3.18-150300.59.158.1
kselftests-kmp-preempt-debuginfo - update to 5.3.18-150300.59.158.1
ocfs2-kmp-preempt-debuginfo - update to 5.3.18-150300.59.158.1
cluster-md-kmp-preempt - update to 5.3.18-150300.59.158.1
kernel-preempt-livepatch-devel - update to 5.3.18-150300.59.158.1
kernel-preempt-extra-debuginfo - update to 5.3.18-150300.59.158.1
gfs2-kmp-preempt - update to 5.3.18-150300.59.158.1
reiserfs-kmp-preempt-debuginfo - update to 5.3.18-150300.59.158.1
kselftests-kmp-preempt - update to 5.3.18-150300.59.158.1
kernel-preempt-optional-debuginfo - update to 5.3.18-150300.59.158.1
ocfs2-kmp-preempt - update to 5.3.18-150300.59.158.1
reiserfs-kmp-preempt - update to 5.3.18-150300.59.158.1
dtb-cavium - update to 5.3.18-150300.59.158.1
dtb-amlogic - update to 5.3.18-150300.59.158.1
dtb-nvidia - update to 5.3.18-150300.59.158.1
dtb-apm - update to 5.3.18-150300.59.158.1
dlm-kmp-64kb - update to 5.3.18-150300.59.158.1
cluster-md-kmp-64kb-debuginfo - update to 5.3.18-150300.59.158.1
ocfs2-kmp-64kb-debuginfo - update to 5.3.18-150300.59.158.1
reiserfs-kmp-64kb - update to 5.3.18-150300.59.158.1
dtb-rockchip - update to 5.3.18-150300.59.158.1
kernel-64kb-extra - update to 5.3.18-150300.59.158.1
dtb-arm - update to 5.3.18-150300.59.158.1
kernel-64kb-optional - update to 5.3.18-150300.59.158.1
kernel-64kb-livepatch-devel - update to 5.3.18-150300.59.158.1
dlm-kmp-64kb-debuginfo - update to 5.3.18-150300.59.158.1
dtb-zte - update to 5.3.18-150300.59.158.1
dtb-amd - update to 5.3.18-150300.59.158.1
gfs2-kmp-64kb - update to 5.3.18-150300.59.158.1
dtb-marvell - update to 5.3.18-150300.59.158.1
kernel-64kb-extra-debuginfo - update to 5.3.18-150300.59.158.1
ocfs2-kmp-64kb - update to 5.3.18-150300.59.158.1
dtb-mediatek - update to 5.3.18-150300.59.158.1
dtb-socionext - update to 5.3.18-150300.59.158.1
kernel-64kb-optional-debuginfo - update to 5.3.18-150300.59.158.1
reiserfs-kmp-64kb-debuginfo - update to 5.3.18-150300.59.158.1
cluster-md-kmp-64kb - update to 5.3.18-150300.59.158.1
dtb-broadcom - update to 5.3.18-150300.59.158.1
dtb-al - update to 5.3.18-150300.59.158.1
kselftests-kmp-64kb-debuginfo - update to 5.3.18-150300.59.158.1
dtb-xilinx - update to 5.3.18-150300.59.158.1
dtb-exynos - update to 5.3.18-150300.59.158.1
kernel-preempt-debuginfo - update to 5.3.18-150300.59.158.1
kernel-debug-devel - update to 5.3.18-150300.59.158.1
kernel-debug-livepatch-devel - update to 5.3.18-150300.59.158.1
kernel-debug-debuginfo - update to 5.3.18-150300.59.158.1
kernel-debug - update to 5.3.18-150300.59.158.1
kernel-kvmsmall - update to 5.3.18-150300.59.158.1
kernel-source-vanilla - update to 5.3.18-150300.59.158.1
kernel-docs-html - update to 5.3.18-150300.59.158.1
kernel-64kb-debuginfo - update to 5.3.18-150300.59.158.1
kernel-64kb-devel-debuginfo - update to 5.3.18-150300.59.158.1
kernel-64kb-debugsource - update to 5.3.18-150300.59.158.1
kernel-64kb-devel - update to 5.3.18-150300.59.158.1
kernel-64kb - update to 5.3.18-150300.59.158.1
kernel-preempt-devel - update to 5.3.18-150300.59.158.1
kernel-preempt-debugsource - update to 5.3.18-150300.59.158.1
kernel-preempt-devel-debuginfo - update to 5.3.18-150300.59.158.1
kernel-preempt-extra - update to 5.3.18-150300.59.158.1
kernel-preempt - update to 5.3.18-150300.59.158.1
kernel-docs - update to 5.3.18-150300.59.158.1
kernel-source - update to 5.3.18-150300.59.158.1
kernel-devel - update to 5.3.18-150300.59.158.1
kernel-macros - update to 5.3.18-150300.59.158.1
kernel-default-devel-debuginfo - update to 5.3.18-150300.59.158.1
kernel-default-devel - update to 5.3.18-150300.59.158.1
kernel-obs-build - update to 5.3.18-150300.59.158.1
kernel-default-debuginfo - update to 5.3.18-150300.59.158.1
kernel-default-debugsource - update to 5.3.18-150300.59.158.1
reiserfs-kmp-default-debuginfo - update to 5.3.18-150300.59.158.1
reiserfs-kmp-default - update to 5.3.18-150300.59.158.1
kernel-obs-build-debugsource - update to 5.3.18-150300.59.158.1
kernel-syms - update to 5.3.18-150300.59.158.1
kernel-default - update to 5.3.18-150300.59.158.1
kernel-kvmsmall-livepatch-devel - update to 5.3.18-150300.59.158.1
gfs2-kmp-preempt-debuginfo - update to 5.3.18-150300.59.158.1
cluster-md-kmp-preempt-debuginfo - update to 5.3.18-150300.59.158.1
dlm-kmp-preempt - update to 5.3.18-150300.59.158.1
kernel-preempt-optional - update to 5.3.18-150300.59.158.1
dlm-kmp-preempt-debuginfo - update to 5.3.18-150300.59.158.1
dlm-kmp-default-debuginfo - update to 5.3.18-150300.59.158.1
gfs2-kmp-default - update to 5.3.18-150300.59.158.1
cluster-md-kmp-default-debuginfo - update to 5.3.18-150300.59.158.1
kernel-obs-qa - update to 5.3.18-150300.59.158.1
gfs2-kmp-default-debuginfo - update to 5.3.18-150300.59.158.1
ocfs2-kmp-default-debuginfo - update to 5.3.18-150300.59.158.1
kernel-default-optional-debuginfo - update to 5.3.18-150300.59.158.1
kernel-default-optional - update to 5.3.18-150300.59.158.1
kernel-default-extra-debuginfo - update to 5.3.18-150300.59.158.1
kernel-default-livepatch-devel - update to 5.3.18-150300.59.158.1
kernel-kvmsmall-devel - update to 5.3.18-150300.59.158.1
kernel-kvmsmall-debuginfo - update to 5.3.18-150300.59.158.1
kernel-debug-devel-debuginfo - update to 5.3.18-150300.59.158.1
kernel-kvmsmall-debugsource - update to 5.3.18-150300.59.158.1
kernel-debug-debugsource - update to 5.3.18-150300.59.158.1
kernel-kvmsmall-devel-debuginfo - update to 5.3.18-150300.59.158.1
kselftests-kmp-default - update to 5.3.18-150300.59.158.1
cluster-md-kmp-default - update to 5.3.18-150300.59.158.1
ocfs2-kmp-default - update to 5.3.18-150300.59.158.1
kernel-default-extra - update to 5.3.18-150300.59.158.1
dlm-kmp-default - update to 5.3.18-150300.59.158.1
kernel-default-livepatch - update to 5.3.18-150300.59.158.1
kselftests-kmp-default-debuginfo - update to 5.3.18-150300.59.158.1
kernel-default-base-rebuild - update to 5.3.18-150300.59.158.1.150300.18.92.5
kernel-default-base - update to 5.3.18-150300.59.158.1.150300.18.92.5
kernel-rt - update to 5.3.18-150300.166.1
kernel-source-rt - update to 5.3.18-150300.166.1
kernel-rt-debuginfo - update to 5.3.18-150300.166.1
kernel-rt-debugsource - update to 5.3.18-150300.166.1

External References

Related Security Bulletins