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

VetorAV: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

BDU:2025-00166
CVE-2024-50071
OPENSUSE-SU-2024:14500-1
OPENSUSE-SU-2025:14705-1
USN-7276-1
USN-7277-1
USN-7310-1

Produtos afetados

Linuxmint
Linux Kernel
Ubuntu