Linux · Linux Kernel · CVE-2024-58088
Nome do Software Vulnerável e Versões Afetadas:
Kernel Linux (versões afetadas não especificadas)
Descrição:
Um problema de deadlock foi resolvido no kernel Linux relacionado à funcionalidade bpf (Berkeley Packet Filter), especificamente ao liberar armazenamento de cgroup. Este problema foi introduzido por um commit que visava prevenir deadlocks para programas fentry/fexit anexados em helpers bpf task storage, mas inadvertidamente criou uma janela para deadlocks ao usar bpf cgrp storage. O problema surge quando NULL é passado para bpf local storage map free(), levando a uma situação potencial de deadlock. Dois programas de exemplo (A e B) são fornecidos para demonstrar como este problema pode ser acionado, envolvendo o uso das funções bpf cgrp storage get() e bpf local storage map free().
Recomendações:
Para resolver este problema, passe o contador busy para o procedimento de liberação para que ele possa ser incrementado corretamente antes do bloqueio de storage/smap.
Como medida temporária (workaround), considere desabilitar a função `bpf cgrp storage get()` até que um patch esteja disponível.
Restrinja o acesso à função `bpf local storage map free()` para minimizar o risco de exploração.
Evite usar os mapas `cgrpa` e `cgrpb` nos endpoints de API afetados 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 esta vulnerabilidade.