PT-2024-7050 · Linux+7 · Linux Kernel+7
Zheng Yejian
·
Publicado
2024-05-14
·
Atualizado
2025-09-29
·
CVE-2024-38588
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 à 6.6.37
Descrição
O problema está relacionado a uma possível falha de uso após liberação (use-after-free) na função
ftrace location(). Isso ocorre porque a função lookup rec() procura um registro ftrace de algum endereço nas páginas ftrace de um módulo, enquanto, ao mesmo tempo, essas páginas ftrace estão sendo liberadas em ftrace release mod() à medida que o módulo correspondente é excluído. Isso pode levar a uma situação em que o mesmo local de memória seja acessado após ter sido liberado, causando potencialmente um comportamento inesperado ou falhas no sistema. A causa raiz desse problema é uma condição de corrida entre as funções register kprobes() e delete module().Recomendações
Para corrigir esse problema, as seguintes medidas podem ser tomadas:
-
Manter o bloqueio rcu ao acessar páginas ftrace em
ftrace location range(). -
Use
ftrace location range()em vez delookup rec()emftrace location(). -
Chame
synchronize rcu()antes de liberar quaisquer páginas ftrace emftrace process locs(),ftrace release mod()eftrace free mem().
Atualize o kernel do Linux para a versão 6.6.37 ou posterior para resolver este problema.
Exploit
Correção
Use After Free
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Alt Linux
Astra Linux
Debian
Linuxmint
Linux Kernel
Red Os
Suse
Ubuntu