CVE-2026-98314 in Linuxinformazioni

Riassunto

di VulDB • 06/10/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

ALSA: pcm: impostare timer->private_data prima di registrare il timer PCM

snd_pcm_timer_init() chiama snd_device_register() per collegare il nuovo struct snd_timer alla lista globale dei timer mentre contiene ancora hw.c_resolution = snd_pcm_timer_resolution (e hw.start/hw.stop), e solo in seguito imposta timer->private_data = substream.

Una volta che il timer è presente nella lista sotto register_mutex, un lettore concorrente può già raggiungerlo attraverso lo stesso mutex ed invocare questi callback. /proc/asound/timers lo fa tramite c_resolution(), e snd_timer_open()+snd_timer_start() raggiungono start()/stop() nello stesso modo. Tutti e tre dereferenziano timer->private_data, che per questa breve finestra temporale è NULL, causando una dereferenziazione di puntatore nullo:

substream = timer->private_data; return substream->runtime ? ... // substream è NULL

Spostare l'assegnazione private_data/private_free prima di snd_device_register() in modo che il timer non sia mai visibile nella lista senza che i suoi private_data siano impostati. Nel percorso di errore di snd_device_register(), private_free() (snd_pcm_timer_free()) può ora essere eseguito, ma si limita a impostare substream->timer = NULL, che è già NULL in quel punto poiché substream->timer viene impostato sul nuovo timer una sola volta dopo un'avvenuta registrazione; pertanto il percorso di errore rimane sicuro.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsabile

Linux

Prenotare

25/09/2026

Divulgazione

06/10/2026

Moderazione

accettato

EPSS

0.00184

KEV

no

Attività

molto basso

Fonti

Do you need the next level of professionalism?

Upgrade your account now!