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

Сводка

по VulDB • 28.08.2026

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

ALSA: pcm — пробуждать ожидающих слива связанных потоков при отсоединении (unlink)

Функция snd_pcm_drain() для связанного потока помещает локальную на стеке запись ожидания в runtime->sleep партнера, который находится в состоянии drain. После вызова schedule_timeout() эта запись удаляется только в том случае, если этот партнер всё ещё присутствует в группе вызывающего объекта. Если членство в группе изменяется во время ожидания и сон завершается из-за сигнала или истечения таймаута (таким образом, функция autoremove_wake_function() не выполняется), то finish_wait() пропускается, и snd_pcm_drain() возвращается с записью, всё ещё находящейся в очереди списка sleep этого потока; последующий вызов wake_up() затем обращается к уже освобожденному кадру стека. Эта ситуация достижима путем отсоединения (unlink) либо сливаемого, либо сливающего потока.

В отличие от пути закрытия (snd_pcm_drop() -> snd_pcm_post_stop()), функция snd_pcm_unlink() никогда не пробуждает очереди сна. Необходимо пробудить всех членов группы под блокировкой группы перед изменением членства в группе, чтобы связанный поток-сливатель был освобожден и удалил свою запись до того, как потоки перестанут быть сгруппированы вместе.

Уязвимость появилась после того, как snd_pcm_link_rwsem перестала удерживаться во время ожидания, а удаление стало условным в зависимости от членства в группе (см. раздел Fixes). Поздний переход на finish_wait() сохранил это условное удаление, поэтому случай с сигналом/таймаутом остался незакрытым.

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

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

Linux

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

26.08.2026

Раскрытие

28.08.2026

Модерация

принято

Вход

VDB-396645

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!