Skip to main content

Linux Kernel CVE-2026-53242

| EUVDEUVD-2026-39193 HIGH
NULL Pointer Dereference (CWE-476)
2026-06-25 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-2p59-xc6p-6w7c
7.8
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
4.7 MEDIUM

Local PCM-device access (PR:L, AV:L) and a tight drain/unlink race (AC:H); demonstrated impact is a kernel panic, so A:H only with C:N/I:N.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:H/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
7.0 MEDIUM
qualitative

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

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
Jun 28, 2026 - 09:41 vuln.today
CVSS changed
Jun 28, 2026 - 08:22 NVD
7.8 (HIGH)
Patch available
Jun 25, 2026 - 10:32 EUVD
CVE Published
Jun 25, 2026 - 09:16 cve.org
UNKNOWN (no severity yet)
CVE Published
Jun 25, 2026 - 09:16 cve.org
HIGH 7.8

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

ALSA: PCM: Fix wait queue list corruption in snd_pcm_drain() on linked streams

snd_pcm_drain() uses init_waitqueue_entry which does not clear entry.prev/next, and add_wait_queue with a conditional remove_wait_queue that is skipped when to_check is no longer in the group after concurrent UNLINK. The orphaned wait entry remains on the unlinked substream sleep queue. On the next drain iteration, add_wait_queue adds the entry to a new queue while still linked on the old one, corrupting both lists. A subsequent wake_up dereferences NULL at the func pointer (mapped from the spinlock at offset 0 of the misinterpreted wait_queue_head_t), causing a kernel panic.

Replace init_waitqueue_entry/add_wait_queue/conditional remove_wait_queue with init_wait_entry/prepare_to_wait/ finish_wait. init_wait_entry clears prev/next via INIT_LIST_HEAD on each iteration and sets autoremove_wake_function which auto-removes the entry on wake-up. finish_wait safely handles both the already-removed and still-queued cases.

AnalysisAI

Kernel panic (denial of service) in the Linux kernel ALSA PCM subsystem occurs when snd_pcm_drain() is called on linked (grouped) audio streams that are concurrently unlinked, corrupting wait queue lists and ultimately dereferencing a NULL function pointer. The flaw stems from init_waitqueue_entry/add_wait_queue not clearing list pointers combined with a conditional remove_wait_queue that is skipped after a concurrent UNLINK, leaving an orphaned wait entry that gets added to two queues at once. It is a local-privilege issue requiring access to ALSA PCM devices; no public exploit has been identified at time of analysis and the EPSS score is very low (0.18%).

Technical ContextAI

The vulnerability lives in the Linux kernel's ALSA (Advanced Linux Sound Architecture) PCM core, specifically the draining logic (snd_pcm_drain()) used to flush pending audio on playback streams. Linux supports linking multiple PCM substreams into a synchronized group via the SNDRV_PCM_IOCTL_LINK ioctl, and drain iterates over the group sleeping on each substream's runtime sleep wait queue. The root cause is a race-prone misuse of the kernel wait-queue API: init_waitqueue_entry() does not reset the entry's list prev/next pointers, and the conditional remove_wait_queue() is bypassed when the substream being checked (to_check) is removed from the group by a concurrent UNLINK. The stale wait entry then remains queued on the unlinked substream while a later add_wait_queue() re-inserts it onto another queue, splicing two linked lists together. A subsequent wake_up walks the corrupted list and dereferences offset 0 of a wait_queue_head_t - actually a spinlock - as a function pointer, panicking the kernel. While the input has no assigned CWE, this is a classic concurrency/use-after-state-change (race condition leading to memory list corruption, CWE-362/CWE-416 family). The fix replaces the manual primitives with init_wait_entry()/prepare_to_wait()/finish_wait(), where init_wait_entry() re-initializes list pointers each iteration via INIT_LIST_HEAD and installs autoremove_wake_function(), and finish_wait() correctly handles both queued and already-removed entries.

RemediationAI

Vendor-released patch: upgrade to a fixed stable kernel - 5.10.259, 6.1.176, 6.6.143, 6.12.94, 6.18.36, 7.0.13, or 7.1 (and 6.19.x users to 6.20), matching whichever branch you run, as listed in the EUVD/NVD data. The fix is the upstream commit set on git.kernel.org/stable (e.g. https://git.kernel.org/stable/c/cd98837db15f323463b8df07282ac723bd5c3fed and the sibling commits) which swaps the unsafe init_waitqueue_entry/add_wait_queue/remove_wait_queue sequence for init_wait_entry/prepare_to_wait/finish_wait. Apply your distribution's corresponding errata kernel where available and reboot. Until patching, the most effective compensating control is to restrict access to ALSA PCM devices: limit membership of the 'audio' group and tighten permissions on /dev/snd/pcm* so untrusted local users cannot open and link PCM streams - the trade-off is that legitimate non-privileged audio applications for those users will break. On servers with no audio requirement, blacklisting the snd-pcm/sound modules entirely removes the attack surface; this is safe on headless systems but unacceptable on desktops or media hosts.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
Image SLES15-SP7-Azure-3P Image SLES15-SP7-Azure-Basic Image SLES15-SP7-Azure-Standard Image SLES15-SP7-HPC-Azure Affected
Image SLES15-SP7-BYOS-Azure Image SLES15-SP7-BYOS-GCE Image SLES15-SP7-CHOST-BYOS-Aliyun Image SLES15-SP7-CHOST-BYOS-Azure Image SLES15-SP7-CHOST-BYOS-EC2 Image SLES15-SP7-CHOST-BYOS-GCE Image SLES15-SP7-CHOST-BYOS-GDC Image SLES15-SP7-CHOST-BYOS-SAP-CCloud Image SLES15-SP7-EC2 Image SLES15-SP7-EC2-ECS-HVM Image SLES15-SP7-GCE Image SLES15-SP7-HPC-BYOS-Azure Image SLES15-SP7-HPC-BYOS-EC2 Image SLES15-SP7-HPC-BYOS-GCE Image SLES15-SP7-Hardened-BYOS-Azure Image SLES15-SP7-Hardened-BYOS-EC2 Image SLES15-SP7-Hardened-BYOS-GCE Image SLES15-SP7-SAPCAL-Azure Image SLES15-SP7-SAPCAL-EC2 Image SLES15-SP7-SAPCAL-GCE Affected
Image SLES15-SP7-SAP-Azure Image SLES15-SP7-SAP-Azure-3P Image SLES15-SP7-SAP-BYOS-Azure Image SLES15-SP7-SAP-BYOS-EC2 Image SLES15-SP7-SAP-BYOS-GCE Image SLES15-SP7-SAP-EC2 Image SLES15-SP7-SAP-GCE Image SLES15-SP7-SAP-Hardened-Azure Image SLES15-SP7-SAP-Hardened-BYOS-Azure Image SLES15-SP7-SAP-Hardened-BYOS-EC2 Image SLES15-SP7-SAP-Hardened-BYOS-GCE Image SLES15-SP7-SAP-Hardened-GCE Affected
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed

Share

CVE-2026-53242 vulnerability details – vuln.today

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