7.8

CVE-2024-26934

USB: core: Fix deadlock in usb_deauthorize_interface()

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

USB: core: Fix deadlock in usb_deauthorize_interface()

Among the attribute file callback routines in
drivers/usb/core/sysfs.c, the interface_authorized_store() function is
the only one which acquires a device lock on an ancestor device: It
calls usb_deauthorize_interface(), 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, device_del() waits for all ongoing sysfs attribute
callbacks to complete.  But usb_deauthorize_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 sysfs_break_active_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>
Daten sind bereitgestellt durch National Vulnerability Database (NVD)
LinuxLinux Kernel Version >= 4.4 < 4.19.312
LinuxLinux Kernel Version >= 4.20.0 < 5.4.274
LinuxLinux Kernel Version >= 5.5.0 < 5.10.215
LinuxLinux Kernel Version >= 5.11.0 < 5.15.154
LinuxLinux Kernel Version >= 5.16.0 < 6.1.84
LinuxLinux Kernel Version >= 6.2.0 < 6.6.24
LinuxLinux Kernel Version >= 6.7.0 < 6.7.12
LinuxLinux Kernel Version >= 6.8.0 < 6.8.3
LinuxLinux Kernel Version6.9 Updater1
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.19% 0.087
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
nvd@nist.gov 7.8 1.8 5.9
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE-667 Improper Locking

The product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors.

https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html
https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html
https://git.kernel.org/stable/c/07acf979da33c721357ff27129edf74c23c036c6
Patch
https://git.kernel.org/stable/c/122a06f1068bf5e39089863f4f60b1f5d4273384
Patch
https://git.kernel.org/stable/c/12d6a5681a0a5cecc2af7860f0a1613fa7c6e947
Patch
https://git.kernel.org/stable/c/1b175bc579f46520b11ecda443bcd2ee4904f66a
Patch
https://git.kernel.org/stable/c/80ba43e9f799cbdd83842fc27db667289b3150f5
Patch
https://git.kernel.org/stable/c/8cbdd324b41528994027128207fae8100dff094f
Patch
https://git.kernel.org/stable/c/ab062fa3dc69aea88fe62162c5881ba14b50ecc5
Patch
https://git.kernel.org/stable/c/dbdf66250d2d33e8b27352fcb901de79f3521057
Patch
https://git.kernel.org/stable/c/e451709573f8be904a8a72d0775bf114d7c291d9
Patch
https://cert-portal.siemens.com/productcert/html/ssa-265688.html