PT-2024-31320 · Linux+5 · Linux Kernel+5

Published

2024-09-04

·

Updated

2025-06-09

·

CVE-2024-44952

CVSS v3.1

5.5

Medium

VectorAV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Name of the Vulnerable Software and Affected Versions Linux kernel versions prior to 6.6.50
Description The issue is related to a potential deadlock in the Linux kernel's driver core, specifically in the uevent show() function. This function wants to de-reference dev->driver->name, but there is no clean way to do so unless the attribute is defined via (struct device driver).dev groups. The anti-pattern of taking the device lock() in the attribute handler risks deadlocks with code paths that remove device attributes while holding the lock. This deadlock is typically invisible to lockdep given the device lock() is marked lockdep set novalidate class(), but some subsystems allocate a local lockdep key for @dev->mutex to reveal reports of the form: WARNING: possible circular locking dependency detected. The observation is that driver objects are typically much longer lived than device objects, making it reasonable to perform lockless de-reference of a @driver pointer even if it is racing detach from a device. Given the infrequency of driver unregistration, synchronize rcu() is used in module remove driver() to close any potential races.
Recommendations To resolve this issue, update the Linux kernel to version 6.6.50 or later. If updating is not possible, consider applying the patch that fixes the uevent show() vs driver detach race condition. As a temporary workaround, consider disabling the uevent show() function until a patch is available. However, this may have unintended consequences and should be carefully evaluated before implementation. At the moment, there is no information about other versions that contain a fix for this vulnerability.

Fix

Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

ALT-PU-2024-11855
ALT-PU-2024-11863
ALT-PU-2024-12232
ALT-PU-2024-13121
CVE-2024-44952
DLA-3912-1
INFSA-2025_6966
MGASA-2024-0309
MGASA-2024-0310
OESA-2024-2292
OESA-2024-2293
OESA-2024-2294
OESA-2024-2295
OESA-2024-2296
OPENSUSE-SU-2024_3551-1
OPENSUSE-SU-2024_3561-1
OPENSUSE-SU-2024_3564-1
OPENSUSE-SU-2024_3587-1
OPENSUSE-SU-2024_3592-1
RHSA-2025:6966
RHSA-2025_6966
SUSE-SU-2024:3551-1
SUSE-SU-2024:3553-1
SUSE-SU-2024:3559-1
SUSE-SU-2024:3561-1
SUSE-SU-2024:3564-1
SUSE-SU-2024:3566-1
SUSE-SU-2024:3569-1
SUSE-SU-2024:3587-1
SUSE-SU-2024:3591-1
SUSE-SU-2024:3592-1
SUSE-SU-2025:20073-1
SUSE-SU-2025:20077-1
USN-7088-1
USN-7088-2
USN-7088-3
USN-7088-4
USN-7088-5
USN-7100-1
USN-7100-2

Affected Products

Alt Linux
Linuxmint
Linux Kernel
Red Hat
Suse
Ubuntu