CVE-2023-53665

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

md: don't dereference mddev after export_rdev()

Except for initial reference, mddev->kobject is referenced by
rdev->kobject, and if the last rdev is freed, there is no guarantee that
mddev is still valid. Hence mddev should not be used anymore after
export_rdev().

This problem can be triggered by following test for mdadm at very
low rate:

New file: mdadm/tests/23rdev-lifetime

devname=${dev0##*/}
devt=`cat /sys/block/$devname/dev`
pid=""
runtime=2

clean_up_test() {
        pill -9 $pid
        echo clear > /sys/block/md0/md/array_state
}

trap 'clean_up_test' EXIT

add_by_sysfs() {
        while true; do
                echo $devt > /sys/block/md0/md/new_dev
        done
}

remove_by_sysfs(){
        while true; do
                echo remove > /sys/block/md0/md/dev-${devname}/state
        done
}

echo md0 > /sys/module/md_mod/parameters/new_array || die "create md0 failed"

add_by_sysfs &
pid="$pid $!"

remove_by_sysfs &
pid="$pid $!"

sleep $runtime
exit 0

Test cmd:

./test --save-logs --logdir=/tmp/ --keep-going --dev=loop --tests=23rdev-lifetime

Test result:

general protection fault, probably for non-canonical address 0x6b6b6b6b6b6b6bcb: 0000 [#4] PREEMPT SMP
CPU: 0 PID: 1292 Comm: test Tainted: G      D W          6.5.0-rc2-00121-g01e55c376936 #562
RIP: 0010:md_wakeup_thread+0x9e/0x320 [md_mod]
Call Trace:
 <TASK>
 mddev_unlock+0x1b6/0x310 [md_mod]
 rdev_attr_store+0xec/0x190 [md_mod]
 sysfs_kf_write+0x52/0x70
 kernfs_fop_write_iter+0x19a/0x2a0
 vfs_write+0x3b5/0x770
 ksys_write+0x74/0x150
 __x64_sys_write+0x22/0x30
 do_syscall_64+0x40/0x90
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

Fix this problem by don't dereference mddev after export_rdev().
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
5.5 MEDIUM
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 5%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
6.5 ≤
𝑥
< 6.5.5
linuxlinux_kernel
6.6:rc1
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bookworm
6.1.148-1
not-affected
bookworm (security)
6.1.153-1
fixed
bullseye
5.10.223-1
not-affected
bullseye (security)
5.10.237-1
fixed
forky
6.16.9-1
fixed
sid
6.16.11-1
fixed
trixie
6.12.43-1
fixed
trixie (security)
6.12.48-1
fixed
openSUSE logo
openSUSE / SLES Releases
openSUSE Product
Release
kernel-64kb
suse enterprise desktop 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.22.1
fixed
kernel-azure
suse enterprise sap 15 SP6
6.4.0-150600.8.55.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.20.18.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.8.55.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.20.18.1
fixed
kernel-default
suse enterprise desktop 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.22.1
fixed
kernel-default-base
suse enterprise desktop 15 SP6
6.4.0-150600.23.78.1.150600.12.34.2
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.22.1.150700.17.15.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.78.1.150600.12.34.2
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.22.1.150700.17.15.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.78.1.150600.12.34.2
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.22.1.150700.17.15.1
fixed
kernel-docs
suse enterprise desktop 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.22.1
fixed
kernel-macros
suse enterprise desktop 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.22.1
fixed
kernel-obs-build
suse enterprise desktop 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.22.1
fixed
kernel-source
suse enterprise desktop 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.22.1
fixed
kernel-source-azure
suse enterprise sap 15 SP6
6.4.0-150600.8.55.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.20.18.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.8.55.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.20.18.1
fixed
kernel-syms
suse enterprise desktop 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.22.1
fixed
kernel-syms-azure
suse enterprise sap 15 SP6
6.4.0-150600.8.55.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.20.18.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.8.55.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.20.18.1
fixed
kernel-zfcpdump
suse enterprise desktop 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.22.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.78.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.22.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