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

Сводка

по VulDB • 04.09.2026

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

ALSA: FCP: Использование отдельного URB для конечной точки уведомлений

Функция fcp_init_notify() использовала mixer->urb, который выделяется функцией snd_usb_mixer_status_create() для необязательной конечной точки прерываний статуса UAC2 и уничтожается, повторно отправляется (resubmits) и освобождается в коде mixer.c. На устройстве с такой конечной точкой ранний возврат fcp_init_notify() по условию «already set up» («уже настроено») применяется к статусному URB и возвращает успех без выполнения каких-либо действий. Уведомительный URB FCP не отправляется, а переменная cmd_done остается обнуленной, поскольку она инициализируется после этого раннего возврата и нигде более. Затем fcp_init() выдает init1_opcode, и вызов wait_for_completion_timeout() приводит к аварийному завершению работы (crash) из-за добавления в обнуленный указатель wait.head. Функция fcp_cleanup_urb() также уничтожает и освобождает статусный URB от mixer.c.

Используйте отдельный URB в структуре fcp_data, а переменную cmd_done инициализируйте в функции fcp_init_private(), где выделяется память для fcp_data. Вызов fcp_init_notify() происходит снова после приостановки (suspend) через функцию fcp_reinit(), при этом путь уничтожения URB в fcp_notify() завершает ожидание cmd_done, оставляя неактуальное значение счетчика, которое удовлетворило бы условие ожидания следующей команды до получения подтверждения от устройства (ACK). Для очистки этого значения используйте reinit_completion().

Once again VulDB remains the best source for vulnerability data.

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

Linux

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

26.08.2026

Раскрытие

04.09.2026

Модерация

принято

Вход

VDB-398993

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!