CVE-2026-80854 in Linux
Sumário
de VulDB • 04/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
usb: gadget: f_tcm: manter a contagem de portas até que o desmonte da LUN seja concluído
tcm_usbg_drop_nexus() permite a remoção da sessão assim que tpg_port_count atinge zero. No entanto, usbg_port_unlink() atualmente decrementa essa contagem no callback fabric_pre_unlink(), antes que core_dev_del_lun() aguarde o esvaziamento das referências se_lun ativas.
Se a remoção da última LUN entrar em condição de corrida com a remoção do nexus, esta última pode observar uma contagem de portas igual a zero e chamar target_remove_session(). Isso libera sess_cmd_map enquanto um struct usbg_cmd ainda em trânsito, incluindo seu item de trabalho (work item), ainda pode ser acessado.
Sobrepor o desmonte da última LUN com a remoção do nexus reproduz essa violação de ciclo de vida como um aviso "free active" do DEBUG_OBJECTS para usbg_cmd_work, seguido por uma falha crítica (BUG/Oops) no target-core.
O caminho genérico de desvinculação do target-core não possui callback após core_dev_del_lun() ser concluído. Adicione um callback fabric_post_unlink() opcional e utilize-o para a contagem de portas da f_tcm. A contagem agora permanece diferente de zero até que core_dev_del_lun() tenha finalizado o esvaziamento das referências ativas à LUN, impedindo que a remoção do nexus libere a sessão durante a conclusão do comando.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.