PT-2024-4103 · Linux+8 · Linux Kernel+8
Zhongqiu Han
·
Publicado
2024-05-09
·
Atualizado
2025-09-29
·
CVE-2024-36899
CVSS v3.1
7.0
Alta
| Vetor | AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
Nome do software vulnerável e versões afetadas
Kernel do Linux (versões afetadas não especificadas)
Descrição
O problema ocorre quando o arquivo do dispositivo do chip GPIO está sendo fechado pela chamada
gpio chrdev release(), onde watched lines é liberado por bitmap free(), mas o cancelamento do registro da cadeia de notificadores lineinfo changed nb falhou devido à espera de gravação rwsem. Uma condição de corrida leva ao uso após liberação de watched lines. O efeito colateral desse problema é que um evento de linha GPIO está sendo gerado para o espaço do usuário onde não deveria. No entanto, como o chrdev está sendo fechado, o espaço do usuário não terá a chance de ler esse evento de qualquer maneira.Recomendações
Para corrigir o problema, chame a função
bitmap free() após o cancelamento do registro da cadeia de notificadores lineinfo changed nb.Como solução temporária, considere desativar a função
lineinfo changed notify() até que um patch esteja disponível.Restrinja o acesso ao módulo
gpiolib para minimizar o risco de exploração.Evite usar a variável
watched lines no endpoint da API afetado até que o problema seja resolvido.No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.
Exploit
Use After Free
Race Condition
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Almalinux
Astra Linux
Debian
Linuxmint
Linux Kernel
Red Hat
Red Os
Suse
Ubuntu