CVE 7.8 HIGH

ALSA: pcm: fix use-after-free on linked stream runtime in snd_pcm_drain()_CVE-2026-43437

7.8 / 10
HIGH
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

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.

Basic Information

ID CVE-2026-43437
Source Linux
Published May 8, 2026 at 14:22
Modified May 11, 2026 at 06:34

Affected Product

Vendor Linux
Product Linux
Version f2b3614cefb61ee6046a0aaee503ee37f227d310
Affected Versions Linux Linux f2b3614cefb61ee6046a0aaee503ee37f227d310
Linux Linux f2b3614cefb61ee6046a0aaee503ee37f227d310
Linux Linux f2b3614cefb61ee6046a0aaee503ee37f227d310
Linux Linux f2b3614cefb61ee6046a0aaee503ee37f227d310
Linux Linux f2b3614cefb61ee6046a0aaee503ee37f227d310
Linux Linux f2b3614cefb61ee6046a0aaee503ee37f227d310
Linux Linux f2b3614cefb61ee6046a0aaee503ee37f227d310
Linux Linux 3.0

References

💭 Join the Security Discussion

🔒 Your email address will not be published. Required fields are marked *

⚠️ Please be respectful and constructive in your comments. Security discussions should remain professional.