CVE Catalog

CVE-2026-43437

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.13%

3th percentile - higher than 3% of all known CVEs

Summary

In the Linux kernel, ALSA PCM has a use-after-free vulnerability on linked stream runtime in snd_pcm_drain(). The 'runtime' variable is reassigned to a linked stream's runtime, and after releasing the lock, accesses to runtime fields may refer to freed memory if the stream is concurrently closed. The fix caches needed fields into local variables before releasing the lock.

Risk Assessment

This could lead to system crashes, unpredictable behavior, or potentially privilege escalation if an attacker can control close() calls on the linked stream.

Recommendation

It is recommended to update the Linux kernel to a version containing the fix that addresses the use-after-free issue.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS