CVE-2024-38600

ALSA: Fix deadlocks with kctl removals at disconnection

MEDIUM
5.5
CVSS Score
Published: June 19, 2024 at 01:45 PM UTC
Updated: June 17, 2026 at 07:40 AM UTC
1 product affected across 1 vendorLinux Kernel

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
MEDIUM5.5
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: ALSA: Fix deadlocks with kctl removals at disconnection In snd_card_disconnect(), we set card->shutdown flag at the beginning, call callbacks and do sync for card->power_ref_sleep waiters at the end. The callback may delete a kctl element, and this can lead to a deadlock when the device was in the suspended state. Namely: * A process waits for the power up at snd_power_ref_and_wait() in snd_ctl_info() or read/write() inside card->controls_rwsem. * The system gets disconnected meanwhile, and the driver tries to delete a kctl via snd_ctl_remove*(); it tries to take card->controls_rwsem again, but this is already locked by the above. Since the sleeper isn't woken up, this deadlocks. An easy fix is to wake up sleepers before processing the driver disconnect callbacks but right after setting the card->shutdown flag. Then all sleepers will abort immediately, and the code flows again. So, basically this patch moves the wait_event() call at the right timing. While we're at it, just to be sure, call wait_event_all() instead of wait_event(), although we don't use exclusive events on this queue for now.

Affected

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

v < 5.15.1615.14 ≤ v < 5.15.1615.14 ≤ v < 6.1.935.14 ≤ v < 6.105.14 ≤ v < 6.6.335.14 ≤ v < 6.8.125.14 ≤ v < 6.9.35.16 ≤ v < 6.1.936.2 ≤ v < 6.6.336.7 ≤ v < 6.8.126.9 ≤ v < 6.9.35.14e94fdbd7b25d87e64688bb109e2c550217a4c879
Vendor states this is fixed in 2f103287ef7960854808930499d1181bd0145d68 (fixed)
Vendor states this is fixed in 6b55e879e7bd023a03888fc6c8339edf82f576f4 (fixed)
Vendor states this is fixed in 87988a534d8e12f2e6fc01fe63e6c1925dc5307c (fixed)
Vendor states this is fixed in 88ce3fe255d58a93624b467af036dc3519f309c7 (fixed)
Vendor states this is fixed in c2fb439f4f1425a961d20bec818fed2c2d9ef70a (fixed)
Vendor states this is fixed in ff80185e7b7b547a0911fcfc8aefc61c3e8304d7 (fixed)
Vendor states this is fixed in 5.14 (unaffected)
Vendor states this is fixed in 5.15.161 (unaffected)
Vendor states this is fixed in 6.1.93 (unaffected)
Vendor states this is fixed in 6.10 (unaffected)
Vendor states this is fixed in 6.6.33 (unaffected)
Vendor states this is fixed in 6.8.12 (unaffected)
Vendor states this is fixed in 6.9.3 (unaffected)

References (6)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2f103287ef7960854808930499d1181bd0145d68
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/6b55e879e7bd023a03888fc6c8339edf82f576f4
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/87988a534d8e12f2e6fc01fe63e6c1925dc5307c
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/88ce3fe255d58a93624b467af036dc3519f309c7
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/c2fb439f4f1425a961d20bec818fed2c2d9ef70a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/ff80185e7b7b547a0911fcfc8aefc61c3e8304d7

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
NONE
Integrity
NONE
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