PT-2024-8490 · Linux+6 · Linux Kernel+6
Publicado
2024-04-02
·
Atualizado
2025-09-29
·
CVE-2024-35886
CVSS v3.1
7.8
Alta
| Vetor | AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Nome do software vulnerável e versões afetadas
Versões do kernel Linux anteriores à versão corrigida
Descrição
O problema está relacionado a uma recursão infinita na função
fib6 dump done() durante a destruição do soquete netlink. Isso ocorre quando o syzkaller envia uma mensagem AF UNSPEC RTM GETROUTE e a resposta é gerada, mas a primeira chamada de inet6 dump fib() falha em kzalloc() devido à injeção de falha. A função fib6 dump done() chama fib6 dump end() e nlk sk(sk)->cb.done() se ainda não for NULL, e fib6 dump end() reescreve nlk sk(sk)->cb.done() por nlk sk(sk)->cb.args[3], levando a chamadas recursivas e a um acerto na página de proteção da pilha.Recomendações
Para resolver o problema, defina o destrutor após
kzalloc(). Como solução temporária, considere desativar a função fib6 dump done() até que um patch esteja disponível. Restrinja o acesso à função vulnerável netlink sock destruct() para minimizar o risco de exploração. Evite usar a função recvmmsg() 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
Uncontrolled Recursion
Memory Corruption
Infinite Loop
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Astra Linux
Linuxmint
Linux Kernel
Red Hat
Red Os
Suse
Ubuntu