CVE-2026-80816 in Linux
Sumário
de VulDB • 04/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
ALSA: FCP: Usar um URB privado para o endpoint de notificação
fcp_init_notify() usava mixer->urb, que snd_usb_mixer_status_create() aloca para o endpoint de interrupção opcional de status UAC2 e mixer.c mata, reenvia e libera. Em um dispositivo com esse endpoint, o retorno antecipado "já configurado" (already set up) de fcp_init_notify() é acionado no URB de status e retorna sucesso sem fazer nada. Nenhum URB de notificação FCP é enviado, e cmd_done permanece zerado porque é inicializado após esse retorno antecipado e em nenhum outro lugar. Em seguida, fcp_init() emite init1_opcode e wait_for_completion_timeout() causaria uma falha (crash) adicionando-se ao wait.head zerado. fcp_cleanup_urb() também mataria e liberaria o URB de status do mixer.c.
Use um URB separado em fcp_data, e inicialize cmd_done em fcp_init_private(), onde fcp_data é alocado. fcp_init_notify() é alcançado novamente após a suspensão via fcp_reinit(), e o caminho de finalização (kill path) do URB em fcp_notify() completa cmd_done, deixando uma contagem obsoleta que satisfaria a espera do próximo comando antes da confirmação (ACK) do dispositivo. Use reinit_completion() para limpá-la.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.