Skip to main content

Linux Kernel CVE-2026-43437

| EUVDEUVD-2026-28743 HIGH
Use After Free (CWE-416)
2026-05-08 Linux GHSA-5cw4-rfp6-xjfx
7.8
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
SUSE
HIGH
qualitative
Red Hat
5.5 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
May 11, 2026 - 08:35 vuln.today
CVSS changed
May 11, 2026 - 08:22 NVD
7.8 (HIGH)
Patch available
May 08, 2026 - 16:18 EUVD
CVE Published
May 08, 2026 - 14:22 nvd
UNKNOWN (no severity yet)
CVE Published
May 08, 2026 - 14:22 nvd
HIGH 7.8

DescriptionCVE.org

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.

AnalysisAI

Use-after-free in Linux kernel ALSA PCM subsystem allows local authenticated users to corrupt memory and potentially execute arbitrary code with kernel privileges. The vulnerability occurs in snd_pcm_drain() when a linked stream's runtime structure is freed via concurrent close() while still being dereferenced, enabling information disclosure, system crashes, or privilege escalation. With EPSS at 0.02% (7th percentile) and CVSS 7.8, this represents elevated theoretical risk but shows no evidence of active exploitation or public POC at time of analysis. Vendor patches are available across multiple stable kernel branches (5.10.253, 6.1.167, 6.6.130, 6.12.78, 6.18.19, 6.19.9, 7.0).

Technical ContextAI

This vulnerability affects the Advanced Linux Sound Architecture (ALSA) PCM (Pulse Code Modulation) subsystem within the Linux kernel, specifically the stream draining mechanism in sound/core/pcm_native.c. The issue stems from improper lifetime management of shared runtime structures when multiple PCM streams are linked together. In snd_pcm_drain(), the code reassigns a local runtime pointer to reference a linked stream's runtime (line 2157), then releases the stream lock (line 2169) before accessing runtime fields (lines 2170-2178). This creates a classic time-of-check-to-time-of-use race condition where a concurrent close() operation on the linked stream can trigger the deallocation chain: snd_pcm_release_substream() → snd_pcm_drop() → pcm_release_private() → snd_pcm_unlink() → snd_pcm_detach_substream() → kfree(runtime). The stale pointer dereference can lead to memory corruption, information leakage from freed kernel memory, or exploitable control-flow hijacking if attacker-controlled data occupies the freed memory region. The vulnerability has existed since commit f2b3614cefb6 and affects kernel versions 3.0 through current until patched. CPE strings confirm widespread impact across Linux kernel distributions: cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*.

RemediationAI

Upgrade to patched Linux kernel versions: 5.10.253 or later for 5.10.x LTS branch, 6.1.167+ for 6.1.x LTS, 6.6.130+ for 6.6.x stable, 6.12.78+ for 6.12.x stable, 6.18.19+ for 6.18.x stable, 6.19.9+ for 6.19.x stable, or 7.0+ for mainline. Patches implement proper lifetime management by caching runtime fields (no_period_wakeup, rate, buffer_size) into local variables while holding the stream lock, eliminating post-lock dereferences of potentially freed memory. For systems unable to immediately patch, implement compensating controls: (1) Restrict access to /dev/snd/* devices to trusted users only via udev rules or filesystem permissions - prevents unprivileged local users from opening PCM streams required for exploitation (trade-off: breaks audio for restricted users). (2) Disable ALSA kernel modules if audio functionality is not required: blacklist snd_pcm module in /etc/modprobe.d/ and reboot (trade-off: complete loss of kernel-level audio support). (3) Deploy mandatory access control policies (SELinux/AppArmor) to prevent untrusted processes from accessing sound subsystem (trade-off: requires policy tuning and testing). Note that containers with --device /dev/snd passthrough remain vulnerable to host kernel exploitation - container isolation does not mitigate kernel use-after-free. Verify patch application by checking kernel version with 'uname -r' and confirming fix commits are present in your distribution's kernel changelog.

Vendor StatusVendor

SUSE

Severity: High
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed

Share

CVE-2026-43437 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy