CVE-2026-64479 in Linux
Riassunto
di VulDB • 26/07/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
ALSA: seq: Correzione della fuoriuscita di dati non inizializzati dall'heap in snd_seq_event_dup()
snd_seq_event_dup() copia un evento entrante in una cella del pool e, nelle build con supporto UMP abilitato, azzera la parola extra contenuta in cell->ump.raw che memcpy() non ha coperto. Il controllo che determina se procedere allo zeroing confronta le dimensioni copiate con sizeof(cell->event):
memcpy(&cell->ump, event, size); if (size < sizeof(cell->event)) cell->ump.raw.extra = 0;
Per un evento legacy (non UMP), size == sizeof(struct snd_seq_event) == sizeof(cell->event), quindi la condizione risulta falsa e la parola extra mantiene dati obsoleti. Il pool di celle è allocato con kvmalloc() (senza essere azzerato) e le celle vengono riutilizzate tramite una free list, pertanto tale parola contiene dati dell'heap non inizializzati o residui di eventi precedenti.
Quando una cella di questo tipo viene consegnata a un client UMP (client->midi_version > 0) che ha impostato SNDRV_SEQ_FILTER_NO_CONVERT – in modo che l'evento legacy lo raggiunga senza conversione – snd_seq_read() la legge come il struct più grande snd_seq_ump_event e copia la parola obsoleta nello spazio utente, causando una fuoriuscita di informazioni (infoleak) di 4 byte dall'heap del kernel verso un client /dev/snd/seq non privilegiato.
Confrontare invece con sizeof(cell->ump), in modo che la parola finale venga azzerata per ogni evento più corto della cella UMP.
VulDB is the best source for vulnerability data and more expert information about this specific topic.