Skip to main content

Linux Kernel EUVDEUVD-2026-38993

| CVE-2026-53125 MEDIUM
Improper Locking (CWE-667)
2026-06-24 Linux GHSA-9m96-3qwq-4728
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.5 MEDIUM

Local access with low privilege required to write to sysfs md node; pure availability impact via kernel deadlock with no confidentiality or integrity consequence.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative
Red Hat
5.5 LOW
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 23, 2026 - 21:12 vuln.today
CVSS changed
Jul 23, 2026 - 21:07 NVD
5.5 (MEDIUM)
Patch available
Jun 24, 2026 - 18:02 EUVD
CVE Published
Jun 24, 2026 - 16:30 nvd
MEDIUM 5.5
CVE Published
Jun 24, 2026 - 16:30 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

In the Linux kernel, the following vulnerability has been resolved:

md: fix array_state=clear sysfs deadlock

When "clear" is written to array_state, md_attr_store() breaks sysfs active protection so the array can delete itself from its own sysfs store method.

However, md_attr_store() currently drops the mddev reference before calling sysfs_unbreak_active_protection(). Once do_md_stop(..., 0) has made the mddev eligible for delayed deletion, the temporary kobject reference taken by sysfs_break_active_protection() can become the last kobject reference protecting the md kobject.

That allows sysfs_unbreak_active_protection() to drop the last kobject reference from the current sysfs writer context. kobject teardown then recurses into kernfs removal while the current sysfs node is still being unwound, and lockdep reports recursive locking on kn->active with kernfs_drain() in the call chain.

Reproducer on an existing level:

  1. Create an md0 linear array and activate it:

mknod /dev/md0 b 9 0 echo none > /sys/block/md0/md/metadata_version echo linear > /sys/block/md0/md/level echo 1 > /sys/block/md0/md/raid_disks echo "$(cat /sys/class/block/sdb/dev)" > /sys/block/md0/md/new_dev echo "$(($(cat /sys/class/block/sdb/size) / 2))" > \ /sys/block/md0/md/dev-sdb/size echo 0 > /sys/block/md0/md/dev-sdb/slot echo active > /sys/block/md0/md/array_state

  1. Wait briefly for the array to settle, then clear it:

sleep 2 echo clear > /sys/block/md0/md/array_state

The warning looks like:

WARNING: possible recursive locking detected bash/588 is trying to acquire lock: (kn->active#65) at __kernfs_remove+0x157/0x1d0 but task is already holding lock: (kn->active#65) at sysfs_unbreak_active_protection+0x1f/0x40 ... Call Trace: kernfs_drain __kernfs_remove kernfs_remove_by_name_ns sysfs_remove_group sysfs_remove_groups __kobject_del kobject_put md_attr_store kernfs_fop_write_iter vfs_write ksys_write

Restore active protection before mddev_put() so the extra sysfs kobject reference is dropped while the mddev is still held alive. The actual md kobject deletion is then deferred until after the sysfs write path has fully returned.

AnalysisAI

Improper locking in the Linux kernel's md (Multiple Devices/software RAID) subsystem causes a recursive kobject teardown deadlock when 'clear' is written to the sysfs array_state attribute. A local user with write access to an active md array's sysfs interface can trigger a kernel denial-of-service by exploiting the incorrect ordering of mddev_put() before sysfs_unbreak_active_protection() in md_attr_store(). No public exploit code is identified and EPSS exploitation probability is minimal at 0.17% (7th percentile); no CISA KEV listing indicates active exploitation has not been confirmed.

Technical ContextAI

The vulnerability resides in the Linux kernel's md (Multiple Devices) driver within drivers/md/, which implements software RAID functionality. The root cause is CWE-667 (Improper Locking): a reference-counting ordering error in md_attr_store() during 'clear' writes to array_state. The code path calls sysfs_break_active_protection() to permit the md array to delete itself from within its own sysfs store method, but then calls mddev_put() before sysfs_unbreak_active_protection(). After do_md_stop(..., 0) renders the mddev eligible for delayed deletion, the temporary kobject reference held by sysfs_break_active_protection() may become the sole remaining kobject reference protecting the md kobject. When sysfs_unbreak_active_protection() subsequently drops that last reference from within the active sysfs writer context, kobject teardown recurses into kernfs removal - triggering lockdep-detected recursive locking on kn->active with kernfs_drain() present in the call chain. The fix, confirmed in three upstream stable-branch commits, is to invoke sysfs_unbreak_active_protection() before mddev_put() so that kobject teardown is deferred until after the sysfs write path has fully unwound. Affected product scope spans CPE cpe:2.3:a:linux:linux across multiple stable kernel series.

RemediationAI

Apply one of three upstream stable-branch fixes available at kernel.org: commit 2aa72276fab9851dbd59c2daeb4b590c5a113908 (https://git.kernel.org/stable/c/2aa72276fab9851dbd59c2daeb4b590c5a113908), commit 62c44566da7493ee48ef17e8507bb798338a07cb (https://git.kernel.org/stable/c/62c44566da7493ee48ef17e8507bb798338a07cb), or commit 92ad0ec509ffb188d8f849b63148664df37b4a52 (https://git.kernel.org/stable/c/92ad0ec509ffb188d8f849b63148664df37b4a52). Ubuntu users should apply packages referenced in USN-8568-1 and USN-8566-1. Where patching is not immediately feasible, restrict write access to /sys/block/md*/md/array_state via sysfs permission overrides, udev rules, or an LSM policy (e.g., AppArmor or SELinux denial on sysfs write to md array_state path); note this will prevent legitimate array management via mdadm and may disrupt automated storage management. On systems that do not require software RAID, unloading the md module (modprobe -r md) eliminates exposure entirely with no functional trade-off.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected

Share

EUVD-2026-38993 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy