CVE-2024-26934

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-26934
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-26934.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-26934
Downstream
Related
Published
2024-05-01T05:17:27.352Z
Modified
2025-11-28T02:34:46.905627Z
Summary
USB: core: Fix deadlock in usb_deauthorize_interface()
Details

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

USB: core: Fix deadlock in usbdeauthorizeinterface()

Among the attribute file callback routines in drivers/usb/core/sysfs.c, the interfaceauthorizedstore() function is the only one which acquires a device lock on an ancestor device: It calls usbdeauthorizeinterface(), which locks the interface's parent USB device.

The will lead to deadlock if another process already owns that lock and tries to remove the interface, whether through a configuration change or because the device has been disconnected. As part of the removal procedure, devicedel() waits for all ongoing sysfs attribute callbacks to complete. But usbdeauthorize_interface() can't complete until the device lock has been released, and the lock won't be released until the removal has finished.

The mechanism provided by sysfs to prevent this kind of deadlock is to use the sysfsbreakactive_protection() function, which tells sysfs not to wait for the attribute callback.

Reported-and-tested by: Yue Sun samsun1006219@gmail.com Reported by: xingwei lee xrivendell7@gmail.com

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/26xxx/CVE-2024-26934.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
310d2b4124c073a2057ef9d952d4d938e9b1dfd9
Fixed
8cbdd324b41528994027128207fae8100dff094f
Fixed
12d6a5681a0a5cecc2af7860f0a1613fa7c6e947
Fixed
e451709573f8be904a8a72d0775bf114d7c291d9
Fixed
1b175bc579f46520b11ecda443bcd2ee4904f66a
Fixed
ab062fa3dc69aea88fe62162c5881ba14b50ecc5
Fixed
122a06f1068bf5e39089863f4f60b1f5d4273384
Fixed
dbdf66250d2d33e8b27352fcb901de79f3521057
Fixed
07acf979da33c721357ff27129edf74c23c036c6
Fixed
80ba43e9f799cbdd83842fc27db667289b3150f5

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.4.0
Fixed
4.19.312
Type
ECOSYSTEM
Events
Introduced
4.20.0
Fixed
5.4.274
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.215
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.154
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.84
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.24
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.7.12
Type
ECOSYSTEM
Events
Introduced
6.8.0
Fixed
6.8.3