CVE-2023-53536

EUVD-2025-32342
In the Linux kernel, the following vulnerability has been resolved:

blk-crypto: make blk_crypto_evict_key() more robust

If blk_crypto_evict_key() sees that the key is still in-use (due to a
bug) or that ->keyslot_evict failed, it currently just returns while
leaving the key linked into the keyslot management structures.

However, blk_crypto_evict_key() is only called in contexts such as inode
eviction where failure is not an option.  So actually the caller
proceeds with freeing the blk_crypto_key regardless of the return value
of blk_crypto_evict_key().

These two assumptions don't match, and the result is that there can be a
use-after-free in blk_crypto_reprogram_all_keys() after one of these
errors occurs.  (Note, these errors *shouldn't* happen; we're just
talking about what happens if they do anyway.)

Fix this by making blk_crypto_evict_key() unlink the key from the
keyslot management structures even on failure.

Also improve some comments.
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
7.8 HIGH
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 4%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
5.8 ≤
𝑥
< 5.10.180
linuxlinux_kernel
5.11 ≤
𝑥
< 5.15.111
linuxlinux_kernel
5.16 ≤
𝑥
< 6.1.28
linuxlinux_kernel
6.2 ≤
𝑥
< 6.2.15
linuxlinux_kernel
6.3 ≤
𝑥
< 6.3.2
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bookworm
6.1.148-1
fixed
bookworm (security)
6.1.153-1
fixed
bullseye
5.10.223-1
fixed
bullseye (security)
5.10.237-1
fixed
forky
6.16.9-1
fixed
sid
6.16.9-1
fixed
trixie
6.12.43-1
fixed
trixie (security)
6.12.48-1
fixed
Red Hat logo
Red Hat Enterprise Linux Releases
Red Hat Product
Release
bpftool
RHEL 9
0:7.3.0-427.13.1.el9_4
fixed
kernel
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-64k
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-64k-core
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-64k-debug
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-64k-debug-core
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-64k-debug-devel
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-64k-debug-devel-matched
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-64k-debug-modules
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-64k-debug-modules-core
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-64k-debug-modules-extra
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-64k-devel
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-64k-devel-matched
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-64k-modules
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-64k-modules-core
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-64k-modules-extra
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-abi-stablelists
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-core
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-debug
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-debug-core
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-debug-devel
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-debug-devel-matched
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-debug-modules
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-debug-modules-core
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-debug-modules-extra
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-debug-uki-virt
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-devel
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-devel-matched
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-doc
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-modules
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-modules-core
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-modules-extra
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-rt
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-rt-core
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-rt-debug
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-rt-debug-core
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-rt-debug-devel
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-rt-debug-kvm
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-rt-debug-modules
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-rt-debug-modules-core
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-rt-debug-modules-extra
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-rt-devel
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-rt-kvm
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-rt-modules
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-rt-modules-core
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-rt-modules-extra
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-tools
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-tools-libs
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-tools-libs-devel
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-uki-virt
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-zfcpdump
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-zfcpdump-core
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-zfcpdump-devel
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-zfcpdump-devel-matched
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-zfcpdump-modules
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-zfcpdump-modules-core
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
kernel-zfcpdump-modules-extra
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
libperf
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
perf
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
python3-perf
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
rtla
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed
rv
RHEL 9
0:5.14.0-427.13.1.el9_4
fixed