CVE-2026-64479

ALSA: seq: Fix uninitialised heap leak in snd_seq_event_dup()

N/A
Published: July 25, 2026 at 08:51 AM UTC
Updated: August 17, 2026 at 05:17 AM 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
N/A
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: ALSA: seq: Fix uninitialised heap leak in snd_seq_event_dup() snd_seq_event_dup() copies an incoming event into a pool cell and, in the UMP-enabled build, clears the trailing cell->ump.raw.extra word that the memcpy() did not cover. The guard deciding whether to clear it compares the copied size against sizeof(cell->event): memcpy(&cell->ump, event, size); if (size < sizeof(cell->event)) cell->ump.raw.extra = 0; For a legacy (non-UMP) event, size == sizeof(struct snd_seq_event) == sizeof(cell->event), so the condition is false and the extra word keeps stale data. The cell pool is allocated with kvmalloc() (not zeroed) and cells are reused via a free list, so that word holds uninitialised heap or leftover event data. When such a cell is delivered to a UMP client (client->midi_version > 0) that set SNDRV_SEQ_FILTER_NO_CONVERT -- so the legacy event reaches it unconverted -- snd_seq_read() reads it out as the larger struct snd_seq_ump_event and copies the stale word to user space, a 4-byte kernel heap infoleak to an unprivileged /dev/snd/seq client. Compare against sizeof(cell->ump) instead, so the trailing word is zeroed for every event shorter than the UMP cell.

Affected

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

6.5 ≤ v < 6.12.966.5 ≤ v < 6.18.396.5 ≤ v < 6.6.1456.5 ≤ v < 7.1.46.5 ≤ v < 7.246397622a3fa8372b8fda0f04b33d16923b03b1b6.56389f2c135311c4ce7c08c3b29145c8f95aacf1fd7e2ce72833bb23a82b4201fbed7214cc04a4a8c
Vendor states this is fixed in 435990e25bf1f4af3e6df12a6fbfd1f7ba4a97d4 (fixed)
Vendor states this is fixed in 651ba82fe2a144bc7356d940bfd235c3810b0549 (fixed)
Vendor states this is fixed in 6ded42615fa1f4949925afd0a8a9e1ab3bf96202 (fixed)
Vendor states this is fixed in a224c84e5d3d35708c082c84ad12d81d90762195 (fixed)
Vendor states this is fixed in d7649aa11089a93ea2285c210397aa67e5800766 (fixed)
Vendor states this is fixed in ea672a9f6cc38f06fe69dd2c257ef8a3d4db179a (fixed)
Vendor states this is fixed in fb1aa5082847b98f44f9c6272aee9d0dca9244f0 (fixed)
Vendor states this is fixed in 6.12.96 (unaffected)
Vendor states this is fixed in 6.18.39 (unaffected)
Vendor states this is fixed in 6.5 (unaffected)
Vendor states this is fixed in 6.6.145 (unaffected)
Vendor states this is fixed in 7.1.4 (unaffected)
Vendor states this is fixed in 7.2 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

Quick Info

StatusRECEIVED

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