Linux · Linux Kernel · CVE-2024-36899
**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.