CVE-2024-26934
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
01/05/2024
Last modified:
05/11/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
USB: core: Fix deadlock in usb_deauthorize_interface()<br />
<br />
Among the attribute file callback routines in<br />
drivers/usb/core/sysfs.c, the interface_authorized_store() function is<br />
the only one which acquires a device lock on an ancestor device: It<br />
calls usb_deauthorize_interface(), which locks the interface&#39;s parent<br />
USB device.<br />
<br />
The will lead to deadlock if another process already owns that lock<br />
and tries to remove the interface, whether through a configuration<br />
change or because the device has been disconnected. As part of the<br />
removal procedure, device_del() waits for all ongoing sysfs attribute<br />
callbacks to complete. But usb_deauthorize_interface() can&#39;t complete<br />
until the device lock has been released, and the lock won&#39;t be<br />
released until the removal has finished.<br />
<br />
The mechanism provided by sysfs to prevent this kind of deadlock is<br />
to use the sysfs_break_active_protection() function, which tells sysfs<br />
not to wait for the attribute callback.<br />
<br />
Reported-and-tested by: Yue Sun <br />
Reported by: xingwei lee
Impact
Base Score 3.x
7.80
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.4 (including) | 4.19.312 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20.0 (including) | 5.4.274 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5.0 (including) | 5.10.215 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11.0 (including) | 5.15.154 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16.0 (including) | 6.1.84 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2.0 (including) | 6.6.24 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7.0 (including) | 6.7.12 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.8.0 (including) | 6.8.3 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.9:r1:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/07acf979da33c721357ff27129edf74c23c036c6
- https://git.kernel.org/stable/c/122a06f1068bf5e39089863f4f60b1f5d4273384
- https://git.kernel.org/stable/c/12d6a5681a0a5cecc2af7860f0a1613fa7c6e947
- https://git.kernel.org/stable/c/1b175bc579f46520b11ecda443bcd2ee4904f66a
- https://git.kernel.org/stable/c/80ba43e9f799cbdd83842fc27db667289b3150f5
- https://git.kernel.org/stable/c/8cbdd324b41528994027128207fae8100dff094f
- https://git.kernel.org/stable/c/ab062fa3dc69aea88fe62162c5881ba14b50ecc5
- https://git.kernel.org/stable/c/dbdf66250d2d33e8b27352fcb901de79f3521057
- https://git.kernel.org/stable/c/e451709573f8be904a8a72d0775bf114d7c291d9



