PT-2024-10030 · Linux+2 · Linux Kernel+2
Christophe Jaillet
·
Publicado
2024-10-11
·
Atualizado
2025-02-28
·
CVE-2024-50071
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
Kernel do Linux (versões afetadas não especificadas)
Descrição
O problema está relacionado a uma vulnerabilidade de liberação dupla na função
ma35 pinctrl dt node to map func() dentro do módulo drivers/pinctrl/nuvoton/pinctrl-ma35.c do kernel Linux. Essa vulnerabilidade pode ser explorada para comprometer a confidencialidade, integridade e disponibilidade de informações protegidas. O problema surge porque new map é alocado usando devm *, que libera automaticamente os dados alocados ao remover o dispositivo. No entanto, uma chamada para dt free map = pinconf generic dt free map resulta em uma liberação dupla, pois pinconf generic dt free map() chama pinctrl utils free map().Recomendações
Para resolver o problema, use
kcalloc() em vez do devm kcalloc() gerenciado automaticamente para alocar new map. Essa alteração evita a vulnerabilidade de liberação dupla, garantindo que a memória não seja liberada automaticamente pelo devm * quando o dispositivo for removido, evitando assim o conflito com a operação de liberação manual realizada por pinconf generic dt free map().Exploit
Correção
Double Free
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Linuxmint
Linux Kernel
Ubuntu