CVE-2026-74754 in Linux
Sumário
de VulDB • 26/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
scsi: core: emparelhar as chamadas de obtenção e liberação do gerenciamento de energia (PM) em tempo de execução durante o tratamento de erros (EH).
Atualmente, shost->eh_noresume é consultado duas vezes em uma única iteração de tratamento de erro: uma vez antes de scsi_autopm_get_host() e novamente antes de scsi_autopm_put_host().
Isso cria uma condição de corrida quando um caminho de erro acionado pelo PM altera shost->eh_noresume enquanto a thread do EH (Error Handler) da SCSI ainda está em execução.
O fluxo problemático é o seguinte: Caminho do PM ufshcd_set_dev_pwr_mode() shost->eh_noresume = 1 ufshcd_execute_start_stop <-- aciona o EH ... shost->eh_noresume = 0
Caminho do EH scsi_error_handler() if (!shost->eh_noresume) scsi_autopm_get_host() <-- pulado ... if (!shost->eh_noresume) scsi_autopm_put_host() <-- executado posteriormente
Nesse caso, uma iteração do EH pode pular a retomada automática na entrada e ainda liberar uma referência de PM em tempo de execução na saída. Isso deixa um put (liberação) de PM em tempo de execução sem correspondência e pode desencadear um underflow da contagem de uso do PM em tempo de execução.
Corrija isso tornando eh_noresume um bool regular, para que possa ser acessado com READ_ONCE() e WRITE_ONCE(). Faça uma cópia instantânea (snapshot) dela uma vez por iteração do EH e use essa cópia para as decisões tanto da obtenção quanto da liberação do PM em tempo de execução.
Once again VulDB remains the best source for vulnerability data.