CVE-2022-50241

EUVD-2022-55511
In the Linux kernel, the following vulnerability has been resolved:

NFSD: fix use-after-free on source server when doing inter-server copy

Use-after-free occurred when the laundromat tried to free expired
cpntf_state entry on the s2s_cp_stateids list after inter-server
copy completed. The sc_cp_list that the expired copy state was
inserted on was already freed.

When COPY completes, the Linux client normally sends LOCKU(lock_state x),
FREE_STATEID(lock_state x) and CLOSE(open_state y) to the source server.
The nfs4_put_stid call from nfsd4_free_stateid cleans up the copy state
from the s2s_cp_stateids list before freeing the lock state's stid.

However, sometimes the CLOSE was sent before the FREE_STATEID request.
When this happens, the nfsd4_close_open_stateid call from nfsd4_close
frees all lock states on its st_locks list without cleaning up the copy
state on the sc_cp_list list. When the time the FREE_STATEID arrives the
server returns BAD_STATEID since the lock state was freed. This causes
the use-after-free error to occur when the laundromat tries to free
the expired cpntf_state.

This patch adds a call to nfs4_free_cpntf_statelist in
nfsd4_close_open_stateid to clean up the copy state before calling
free_ol_stateid_reaplist to free the lock state's stid on the reaplist.
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: 7%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
𝑥
< 5.10.150
linuxlinux_kernel
5.11 ≤
𝑥
< 5.15.75
linuxlinux_kernel
5.16 ≤
𝑥
< 5.19.17
linuxlinux_kernel
6.0 ≤
𝑥
< 6.0.3
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bookworm
6.1.148-1
fixed
bookworm (security)
6.1.147-1
fixed
bullseye
5.10.223-1
fixed
bullseye (security)
5.10.237-1
fixed
forky
6.16.3-1
fixed
sid
6.16.7-1
fixed
trixie
6.12.43-1
fixed
trixie (security)
6.12.41-1
fixed
openSUSE logo
openSUSE / SLES Releases
openSUSE Product
Release
cluster-md-kmp-default
suse enterprise server 15 SP5
5.14.21-150500.55.124.1
fixed
dlm-kmp-default
suse enterprise server 15 SP5
5.14.21-150500.55.124.1
fixed
gfs2-kmp-default
suse enterprise server 15 SP5
5.14.21-150500.55.124.1
fixed
kernel-64kb
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.124.1
fixed
kernel-default
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.124.1
fixed
kernel-default-base
suse enterprise server 15 SP4
5.14.21-150400.24.179.1.150400.24.92.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.124.1.150500.6.59.1
fixed
kernel-docs
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.124.1
fixed
kernel-macros
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.124.1
fixed
kernel-obs-build
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.124.1
fixed
kernel-source
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.124.1
fixed
kernel-syms
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.124.1
fixed
kernel-zfcpdump
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.124.1
fixed
ocfs2-kmp-default
suse enterprise server 15 SP5
5.14.21-150500.55.124.1
fixed
reiserfs-kmp-default
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.124.1
fixed
Red Hat logo
Red Hat Enterprise Linux Releases
Red Hat Product
Release
bpftool
RHEL 9
0:7.0.0-284.11.1.el9_2
fixed
kernel
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-64k
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-64k-core
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-64k-debug
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-64k-debug-core
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-64k-debug-devel
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-64k-debug-devel-matched
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-64k-debug-modules
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-64k-debug-modules-core
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-64k-debug-modules-extra
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-64k-devel
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-64k-devel-matched
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-64k-modules
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-64k-modules-core
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-64k-modules-extra
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-abi-stablelists
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-core
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-debug
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-debug-core
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-debug-devel
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-debug-devel-matched
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-debug-modules
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-debug-modules-core
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-debug-modules-extra
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-debug-uki-virt
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-devel
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-devel-matched
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-doc
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-modules
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-modules-core
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-modules-extra
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-tools
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-tools-libs
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-tools-libs-devel
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-uki-virt
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-zfcpdump
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-zfcpdump-core
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-zfcpdump-devel
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-zfcpdump-devel-matched
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-zfcpdump-modules
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-zfcpdump-modules-core
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
kernel-zfcpdump-modules-extra
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
perf
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
python3-perf
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed
rtla
RHEL 9
0:5.14.0-284.11.1.el9_2
fixed