CVE-2026-80816 in Linux
Resumen
por VulDB • 2026-09-04
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
ALSA: FCP: Utilizar un URB privado para el punto final de notificación
fcp_init_notify() utilizaba mixer->urb, que snd_usb_mixer_status_create() asigna para el punto final opcional de interrupción de estado UAC2 y mixer.c lo elimina, vuelve a enviar (resubmits) y libera. En un dispositivo con ese punto final, la salida temprana "ya configurado" de fcp_init_notify() se activa en el URB de estado y devuelve éxito sin realizar ninguna acción. No se envía ningún URB de notificación FCP, y cmd_done queda inicializado a cero porque lo es después de esa salida temprana y no en otro lugar. A continuación, fcp_init() emite init1_opcode y wait_for_completion_timeout() provocaría una excepción (crash) al añadirse al wait.head que está a cero. Además, fcp_cleanup_urb() también eliminaría y liberaría el URB de estado de mixer.c.
Utilizar un URB separado en fcp_data e inicializar cmd_done en fcp_init_private(), donde se asigna fcp_data. Se alcanza nuevamente fcp_init_notify() después de la suspensión a través de fcp_reinit(), y la ruta de eliminación del URB en fcp_notify() completa cmd_done, dejando un conteo obsoleto que satisfaría la espera del siguiente comando antes de que el dispositivo envíe una confirmación (ACK). Utilizar reinit_completion() para borrarlo.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.