CVE-2026-43437
Received Received - Intake
Use-After-Free in Linux Kernel ALSA PCM Subsystem

Publication date: 2026-05-08

Last updated on: 2026-05-08

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: ALSA: pcm: fix use-after-free on linked stream runtime in snd_pcm_drain() In the drain loop, the local variable 'runtime' is reassigned to a linked stream's runtime (runtime = s->runtime at line 2157). After releasing the stream lock at line 2169, the code accesses runtime->no_period_wakeup, runtime->rate, and runtime->buffer_size (lines 2170-2178) β€” all referencing the linked stream's runtime without any lock or refcount protecting its lifetime. A concurrent close() on the linked stream's fd triggers snd_pcm_release_substream() β†’ snd_pcm_drop() β†’ pcm_release_private() β†’ snd_pcm_unlink() β†’ snd_pcm_detach_substream() β†’ kfree(runtime). No synchronization prevents kfree(runtime) from completing while the drain path dereferences the stale pointer. Fix by caching the needed runtime fields (no_period_wakeup, rate, buffer_size) into local variables while still holding the stream lock, and using the cached values after the lock is released.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-08
Last Modified
2026-05-08
Generated
2026-05-09
AI Q&A
2026-05-08
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability is a use-after-free issue in the Linux kernel's ALSA pcm component, specifically in the snd_pcm_drain() function. During the drain loop, a local variable 'runtime' is reassigned to a linked stream's runtime. After releasing the stream lock, the code accesses fields of this linked stream's runtime without any lock or reference count to protect its lifetime.

If a concurrent close() operation occurs on the linked stream's file descriptor, it can trigger a sequence of functions that eventually free the runtime memory (kfree(runtime)). Because there is no synchronization, the drain path may dereference a pointer to memory that has already been freed, leading to a use-after-free condition.

The fix involves caching the needed runtime fields into local variables while still holding the stream lock, and then using these cached values after the lock is released to avoid accessing freed memory.


How can this vulnerability impact me? :

This use-after-free vulnerability can lead to undefined behavior in the Linux kernel, such as system crashes, memory corruption, or potential escalation of privileges if exploited. It may cause instability or denial of service in systems using the ALSA pcm audio subsystem.


What immediate steps should I take to mitigate this vulnerability?

The vulnerability is fixed by updating the Linux kernel to a version where the ALSA pcm drain use-after-free issue is resolved.

Specifically, the fix involves caching the needed runtime fields while holding the stream lock to prevent accessing freed memory.

Therefore, the immediate mitigation step is to apply the kernel update or patch that includes this fix.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart