PT-2024-31320 · Linux+5 · Linux Kernel+5

Publicado

2024-09-04

·

Atualizado

2025-06-09

·

CVE-2024-44952

CVSS v3.1

5.5

Média

VetorAV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Nome do software vulnerável e versões afetadas
Versões do kernel Linux anteriores à 6.6.50
Descrição
O problema está relacionado a um possível impasse no núcleo de drivers do kernel Linux, especificamente na função uevent show(). Essa função tenta desreferenciar dev->driver->name, mas não há uma maneira segura de fazer isso, a menos que o atributo seja definido via (struct device driver).dev groups. O anti-padrão de chamar device lock() no manipulador de atributos apresenta risco de deadlocks com caminhos de código que removem atributos do dispositivo enquanto mantêm o bloqueio. Esse impasse normalmente é invisível para o lockdep, já que o device lock() está marcado como lockdep set novalidate class(), mas alguns subsistemas alocam uma chave lockdep local para @dev->mutex, revelando relatórios do tipo: AVISO: possível dependência de bloqueio circular detectada. A observação é que objetos de driver normalmente têm vida útil muito mais longa do que objetos de dispositivo, tornando razoável realizar a desreferência sem bloqueio de um ponteiro @driver, mesmo que haja uma corrida de desanexamento de um dispositivo. Dada a raridade do cancelamento de registro de drivers, synchronize rcu() é usado em module remove driver() para eliminar quaisquer corridas potenciais.
Recomendações
Para resolver este problema, atualize o kernel do Linux para a versão 6.6.50 ou posterior. Se a atualização não for possível, considere aplicar o patch que corrige a condição de corrida entre uevent show() e a desconexão do driver. Como solução temporária, considere desativar a função uevent show() até que um patch esteja disponível

Correção

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Identificadores relacionados

ALT-PU-2024-11855
ALT-PU-2024-11863
ALT-PU-2024-12232
ALT-PU-2024-13121
CVE-2024-44952
DLA-3912-1
INFSA-2025_6966
MGASA-2024-0309
MGASA-2024-0310
OESA-2024-2292
OESA-2024-2293
OESA-2024-2294
OESA-2024-2295
OESA-2024-2296
OPENSUSE-SU-2024_3551-1
OPENSUSE-SU-2024_3561-1
OPENSUSE-SU-2024_3564-1
OPENSUSE-SU-2024_3587-1
OPENSUSE-SU-2024_3592-1
RHSA-2025:6966
RHSA-2025_6966
SUSE-SU-2024:3551-1
SUSE-SU-2024:3553-1
SUSE-SU-2024:3559-1
SUSE-SU-2024:3561-1
SUSE-SU-2024:3564-1
SUSE-SU-2024:3566-1
SUSE-SU-2024:3569-1
SUSE-SU-2024:3587-1
SUSE-SU-2024:3591-1
SUSE-SU-2024:3592-1
SUSE-SU-2025:20073-1
SUSE-SU-2025:20077-1
USN-7088-1
USN-7088-2
USN-7088-3
USN-7088-4
USN-7088-5
USN-7100-1
USN-7100-2

Produtos afetados

Alt Linux
Linuxmint
Linux Kernel
Red Hat
Suse
Ubuntu