CVE-2026-43437

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

HIGH
7.8
CVSS Score
Published: May 8, 2026 at 02:22 PM UTC
Updated: October 19, 2026 at 08:18 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

3.0 ≤ v < 5.10.2535.11 ≤ v < 6.1.1676.13 ≤ v < 6.18.196.19 ≤ v < 6.19.96.2 ≤ v < 6.6.1306.7 ≤ v < 6.12.787.07.0 rc17.0 rc27.0 rc3f2b3614cefb61ee6046a0aaee503ee37f227d310
Vendor states this is fixed in 4a758e9a1f5ed722f83c4dd35f867fe811553bcb (fixed)
Vendor states this is fixed in 629cf09464cf98670996ea5c191dc9743e6f3f00 (fixed)
Vendor states this is fixed in 9b1dbd69ba6f8f8c69bc7b77c2ce3b9c6ed05ba6 (fixed)
Vendor states this is fixed in 9baee36e8c5443411c4629afabafaff8a46a23fd (fixed)
Vendor states this is fixed in ae8f8d30d334bad5b1b3cdb1eb8a0b771f55e432 (fixed)
Vendor states this is fixed in c2f64e05a0587a83ec42dbd6b7a7ded79b2ff694 (fixed)
Vendor states this is fixed in f2cb2e0d27fb925c73a78f0ce7d6dbf68d3747c1 (fixed)
Vendor states this is fixed in fc71f888994569f87d5bee20b1ac6c9c1e3a7a79 (fixed)
Vendor states this is fixed in 3.0 (unaffected)
Vendor states this is fixed in 5.10.253 (unaffected)
Vendor states this is fixed in 5.15.220 (unaffected)
Vendor states this is fixed in 6.1.167 (unaffected)
Vendor states this is fixed in 6.12.78 (unaffected)
Vendor states this is fixed in 6.18.19 (unaffected)
Vendor states this is fixed in 6.19.9 (unaffected)
Vendor states this is fixed in 6.6.130 (unaffected)
Vendor states this is fixed in 7.0 (unaffected)

SSVC — Action Prioritization

SSVCNo known exploitNot automatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-416

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card