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&amp;#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&amp;#39;t be released until then.<br /> <br /> But the disable_show() or disable_store() routine can&amp;#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&amp;#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&amp;#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().

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:*:*:*:*:*:*