CVE-2024-38600
Last modified
CVE-2024-38600 is a medium-severity vulnerability rated 5.5/10 on the CVSS scale. 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. EPSS estimates a 0.19% chance of exploitation in the next 30 days.
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.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness Enumeration
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux Kernel | < 5.15.161 |
| Linux | Linux Kernel | >= 5.16, < 6.1.93 |
| Linux | Linux Kernel | >= 6.2, < 6.6.33 |
| Linux | Linux Kernel | >= 6.7, < 6.8.12 |
| Linux | Linux Kernel | >= 6.9, < 6.9.3 |
References
Timeline
- Published
- Last Modified
- Status
- Modified
Frequently Asked Questions
What is CVE-2024-38600?
How severe is CVE-2024-38600?
How do I fix CVE-2024-38600?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2024
- CVE-2024-38595In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-38596In the Linux kernel, the following vulnerability has been re…4.7
- CVE-2024-38597In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-38598In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-38599In the Linux kernel, the following vulnerability has been re…7.1
- CVE-2024-3860An out-of-memory condition during object initialization coul…6.2
- CVE-2024-38601In the Linux kernel, the following vulnerability has been re…4.7
- CVE-2024-38602In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-38603In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-38604In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-38605In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2024-38606In the Linux kernel, the following vulnerability has been re…7.1
Are you affected by CVE-2024-38600?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
