CVE-2026-64479

Source
https://cve.org/CVERecord?id=CVE-2026-64479
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64479.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-64479
Downstream
Published
2026-07-25T08:51:41.006Z
Modified
2026-07-27T04:03:22.310205175Z
Summary
ALSA: seq: Fix uninitialised heap leak in snd_seq_event_dup()
Details

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

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

sndseqevent_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 sndseqevent) == 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->midiversion > 0) that set SNDRVSEQFILTERNOCONVERT -- so the legacy event reaches it unconverted -- sndseqread() reads it out as the larger struct sndsequmpevent 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.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64479.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
6389f2c135311c4ce7c08c3b29145c8f95aacf1f
Fixed
d7649aa11089a93ea2285c210397aa67e5800766
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
d7e2ce72833bb23a82b4201fbed7214cc04a4a8c
Fixed
a224c84e5d3d35708c082c84ad12d81d90762195
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
46397622a3fa8372b8fda0f04b33d16923b03b1b
Fixed
ea672a9f6cc38f06fe69dd2c257ef8a3d4db179a
Fixed
fb1aa5082847b98f44f9c6272aee9d0dca9244f0
Fixed
651ba82fe2a144bc7356d940bfd235c3810b0549
Fixed
6ded42615fa1f4949925afd0a8a9e1ab3bf96202
Fixed
435990e25bf1f4af3e6df12a6fbfd1f7ba4a97d4

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64479.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.5.0
Fixed
6.6.145
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.96
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.39
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.4

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64479.json"