CVE-2026-98314 in Linuxinformation

Résumé

par VulDB • 06/10/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

ALSA: pcm : définir timer->private_data avant l'enregistrement du temporisateur PCM

snd_pcm_timer_init() appelle snd_device_register() pour lier la nouvelle structure struct snd_timer à la liste globale des temporisateurs alors qu'elle porte encore hw.c_resolution = snd_pcm_timer_resolution (et hw.start/hw.stop), et ne définit timer->private_data = substream que par la suite.

Une fois le temporisateur présent dans la liste sous register_mutex, un lecteur concurrent peut déjà y accéder via ce même mutex et invoquer ces callbacks. /proc/asound/timers effectue cela via c_resolution(), et snd_timer_open()+snd_timer_start() atteignent start()/stop() de la même manière. Les trois opérations déréférencent timer->private_data, qui est NULL pendant cette brève fenêtre, provoquant une déréférence de pointeur NULL :

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

Déplacer l'assignation private_data/private_free avant snd_device_register() afin que le temporisateur ne soit jamais visible dans la liste sans son private_data défini. Sur le chemin d'échec de snd_device_register(), private_free() (snd_pcm_timer_free()) peut désormais s'exécuter, mais il effectue uniquement substream->timer = NULL, qui est déjà NULL à ce stade puisque substream->timer n'est défini sur le nouveau temporisateur qu'une seule fois après un enregistrement réussi ; ainsi, le chemin d'échec reste sécurisé.

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Réserver

25/09/2026

Divulgation

06/10/2026

Modérer

accepté

Entrée

VDB-414245

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Do you know our Splunk app?

Download it now for free!