CVE-2024-26933
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
01/05/2024
Last modified:
23/05/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
USB: core: Fix deadlock in port "disable" sysfs attribute<br />
<br />
The show and store callback routines for the "disable" sysfs attribute<br />
file in port.c acquire the device lock for the port&#39;s parent hub<br />
device. This can cause problems if another process has locked the hub<br />
to remove it or change its configuration:<br />
<br />
Removing the hub or changing its configuration requires the<br />
hub interface to be removed, which requires the port device<br />
to be removed, and device_del() waits until all outstanding<br />
sysfs attribute callbacks for the ports have returned. The<br />
lock can&#39;t be released until then.<br />
<br />
But the disable_show() or disable_store() routine can&#39;t return<br />
until after it has acquired the lock.<br />
<br />
The resulting deadlock can be avoided by calling<br />
sysfs_break_active_protection(). This will cause the sysfs core not<br />
to wait for the attribute&#39;s callback routine to return, allowing the<br />
removal to proceed. The disadvantage is that after making this call,<br />
there is no guarantee that the hub structure won&#39;t be deallocated at<br />
any moment. To prevent this, we have to acquire a reference to it<br />
first by calling hub_get().
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:*:*:*:*:*:*:*:* | 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/4facc9421117ba9d8148c73771b213887fec77f7
- https://git.kernel.org/stable/c/73d1589b91f2099e5f6534a8497b7c6b527e064e
- https://git.kernel.org/stable/c/9dac54f08198147f5ec0ec52fcf1bc8ac899ac05
- https://git.kernel.org/stable/c/f4d1960764d8a70318b02f15203a1be2b2554ca1
- https://git.kernel.org/stable/c/f51849833705dea5b4f9b0c8de714dd87bd6c95c



