CVE-2024-26934

USB: core: Fix deadlock in usb_deauthorize_interface()

HIGH
7.8
CVSS Score
Published: May 1, 2024 at 05:17 AM UTC
Updated: October 15, 2026 at 01:17 AM UTC
2 products affected across 2 vendorsLinux KernelSIMATIC S7-1500 TM MFP

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

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 <[email protected]> Reported by: xingwei lee <[email protected]>

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.20.0 ≤ v < 5.4.2744.4 ≤ v < 4.19.3125.11.0 ≤ v < 5.15.1545.16.0 ≤ v < 6.1.845.5.0 ≤ v < 5.10.2156.2.0 ≤ v < 6.6.246.7.0 ≤ v < 6.7.126.8.0 ≤ v < 6.8.3310d2b4124c073a2057ef9d952d4d938e9b1dfd96.96.9 r1
Vendor states this is fixed in 07acf979da33c721357ff27129edf74c23c036c6 (fixed)
Vendor states this is fixed in 122a06f1068bf5e39089863f4f60b1f5d4273384 (fixed)
Vendor states this is fixed in 12d6a5681a0a5cecc2af7860f0a1613fa7c6e947 (fixed)
Vendor states this is fixed in 1b175bc579f46520b11ecda443bcd2ee4904f66a (fixed)
Vendor states this is fixed in 80ba43e9f799cbdd83842fc27db667289b3150f5 (fixed)
Vendor states this is fixed in 8cbdd324b41528994027128207fae8100dff094f (fixed)
Vendor states this is fixed in ab062fa3dc69aea88fe62162c5881ba14b50ecc5 (fixed)
Vendor states this is fixed in dbdf66250d2d33e8b27352fcb901de79f3521057 (fixed)
Vendor states this is fixed in e451709573f8be904a8a72d0775bf114d7c291d9 (fixed)
Vendor states this is fixed in 4.19.312 (unaffected)
Vendor states this is fixed in 4.4 (unaffected)
Vendor states this is fixed in 5.10.215 (unaffected)
Vendor states this is fixed in 5.15.154 (unaffected)
Vendor states this is fixed in 5.4.274 (unaffected)
Vendor states this is fixed in 6.1.84 (unaffected)
Vendor states this is fixed in 6.6.24 (unaffected)
Vendor states this is fixed in 6.7.12 (unaffected)
Vendor states this is fixed in 6.8.3 (unaffected)
Vendor states this is fixed in 6.9 (unaffected)

References (12)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/07acf979da33c721357ff27129edf74c23c036c6
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/122a06f1068bf5e39089863f4f60b1f5d4273384
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/12d6a5681a0a5cecc2af7860f0a1613fa7c6e947
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/1b175bc579f46520b11ecda443bcd2ee4904f66a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/80ba43e9f799cbdd83842fc27db667289b3150f5
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/8cbdd324b41528994027128207fae8100dff094f
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/ab062fa3dc69aea88fe62162c5881ba14b50ecc5
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/dbdf66250d2d33e8b27352fcb901de79f3521057

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-667

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card