CVE-2026-98314 in LinuxИнформация

Сводка

по VulDB • 06.10.2026

В ядре Linux была устранена следующая уязвимость:

ALSA: pcm — установка значения timer->private_data до регистрации таймера PCM

Функция snd_pcm_timer_init() вызывает snd_device_register() для привязки нового экземпляра struct snd_timer к глобальному списку таймеров, при этом в структуре всё ещё содержатся hw.c_resolution = snd_pcm_timer_resolution (а также hw.start/hw.stop), и только после этого устанавливается timer->private_data = substream.

После того как таймер оказывается в списке под защитой register_mutex, параллельный читатель может уже получить к нему доступ через тот же мьютекс и вызвать соответствующие callback-функции. /proc/asound/timers делает это через c_resolution(), а snd_timer_open()+snd_timer_start() обращаются к start()/stop() аналогичным образом. Все три функции разыменовывают timer->private_data, который в этот короткий промежуток времени равен NULL, что приводит к dereferencing нулевого указателя (NULL-pointer dereference):

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

Переместите присваивание private_data/private_free до вызова snd_device_register(), чтобы таймер никогда не становился видимым в списке без установленного значения private_data. В случае сбоя на пути выполнения snd_device_register() может быть вызвана функция private_free() (snd_pcm_timer_free()), однако она лишь устанавливает substream->timer = NULL, что уже является нулевым значением в этот момент, поскольку substream->timer присваивается новому таймеру только один раз после успешной регистрации — таким образом, путь обработки ошибок остаётся безопасным.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Ответственный

Linux

Резервировать

25.09.2026

Раскрытие

06.10.2026

Модерация

принято

Вход

VDB-414245

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Want to know what is going to be exploited?

We predict KEV entries!