CVE-2024-38600·Kernel vulnerability
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.
- Severity
- medium
- Software
- Kernel
- Fixed in
- 6.9.3
- Published
- 2024-06-19
Affected versions
From: 6.9
Until: 6.9.3
Fixed in: 6.9.3
How to fix this CVE
Update your Linux kernel to version 6.9.3 or later to resolve a deadlock condition that occurs during device disconnection when ALSA control elements are removed. This issue primarily affects systems running kernel versions 6.9 through 6.9.2 where the power management synchronization timing can cause the kernel to hang during hardware disconnection scenarios.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check your kernel version with: uname -r — the vulnerable range is 6.9 through 6.9.2
- Verify ALSA sound subsystem is active with: lsmod | grep snd — if ALSA modules are loaded, the audio stack is exposed
- Search system logs for deadlock indicators: grep -i 'deadlock\|hung_task\|RIP.*snd_ctl' /var/log/kern.log or journalctl -b | grep -i 'snd_ctl\|power_ref'
- Confirm the fix is applied by checking kernel version is 6.9.3+: uname -r should show 6.9.3 or higher
FAQ
What is CVE-2024-38600?
A kernel deadlock vulnerability in the ALSA (Advanced Linux Sound Architecture) subsystem that occurs when control elements are removed during device disconnection while the system is in a suspended power state. The timing of power management synchronization causes the kernel to hang indefinitely.
Is CVE-2024-38600 being actively exploited?
No, this vulnerability is not currently listed as actively exploited by CISA, and no public exploits are available. However, it can be triggered inadvertently through normal hardware removal or system shutdown sequences.
What versions of Kernel are affected by CVE-2024-38600?
Linux kernel versions 6.9.0 through 6.9.2 are vulnerable. The fix is included in kernel 6.9.3 and later stable releases.
How do I check if my server is vulnerable to CVE-2024-38600?
Run uname -r to display your kernel version — if it shows 6.9.0, 6.9.1, or 6.9.2, you are vulnerable. Additionally, verify ALSA is active with lsmod | grep snd.
Does Defensia detect CVE-2024-38600?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2024-38600 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/2f103287ef7960854808930499d1181bd0145d68
- https://git.kernel.org/stable/c/6b55e879e7bd023a03888fc6c8339edf82f576f4
- https://git.kernel.org/stable/c/87988a534d8e12f2e6fc01fe63e6c1925dc5307c
- https://git.kernel.org/stable/c/88ce3fe255d58a93624b467af036dc3519f309c7
- https://git.kernel.org/stable/c/c2fb439f4f1425a961d20bec818fed2c2d9ef70a
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-38600. Free for 1 server.
Get started free