Linux · Linux Kernel · CVE-2024-50067
Nome do software vulnerável e versões afetadas:
Versões do kernel Linux anteriores à 6.12.0-rc3+
Descrição:
O problema está relacionado à funcionalidade uprobe no kernel do Linux, que pode levar a um acesso à memória fora dos limites ao buscar argumentos. Isso ocorre porque o buffer percpu usado pelo uprobe tem um tamanho limitado, normalmente o tamanho de uma página, e a função store trace args() não verifica se os dados excedem esse tamanho. Como resultado, strings ou matrizes grandes do espaço do usuário podem causar acesso à memória fora dos limites. O problema pode ser reproduzido compilando o kernel com CONFIG KASAN habilitado, compilando um programa de teste específico e configurando o uprobe com um deslocamento específico. Quando o programa de teste é executado, o KASAN (Kernel Address Sanitizer) do kernel relata um erro.
Recomendações:
Para resolver o problema, atualize o kernel do Linux para uma versão que inclua a correção, a qual impõe que o maxlen do buffer seja menor que o tamanho de uma página para evitar o acesso fora dos limites de memória da função store trace args().
No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.