CVE-2026-64479

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

State
Published
Severity
Not scored
Published
Jul 25, 2026
Updated
Aug 17, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 6389f2c135311c4ce7c08c3b29145c8f95aacf1f to before d7649aa11089a93ea2285c210397aa67e5800766Affected
  • d7e2ce72833bb23a82b4201fbed7214cc04a4a8c to before a224c84e5d3d35708c082c84ad12d81d90762195Affected
  • 46397622a3fa8372b8fda0f04b33d16923b03b1b to before ea672a9f6cc38f06fe69dd2c257ef8a3d4db179aAffected
  • 46397622a3fa8372b8fda0f04b33d16923b03b1b to before fb1aa5082847b98f44f9c6272aee9d0dca9244f0Affected
  • 46397622a3fa8372b8fda0f04b33d16923b03b1b to before 651ba82fe2a144bc7356d940bfd235c3810b0549Affected
  • 46397622a3fa8372b8fda0f04b33d16923b03b1b to before 6ded42615fa1f4949925afd0a8a9e1ab3bf96202Affected
  • 46397622a3fa8372b8fda0f04b33d16923b03b1b to before 435990e25bf1f4af3e6df12a6fbfd1f7ba4a97d4Affected
LinuxLinux
  • 6.5Affected
  • before 6.5Not affected
  • 6.6.145 through 6.6.*Not affected
  • 6.12.96 through 6.12.*Not affected
  • 6.18.39 through 6.18.*Not affected
  • 7.1.4 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.