PT-2024-27225 · Linux+4 · Linux Kernel+4
Publicado
2024-04-26
·
Atualizado
2025-09-29
·
CVE-2024-36961
CVSS v3.1
5.5
Média
| Vetor | AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Nome do software vulnerável e versões afetadas
Versões do kernel Linux anteriores à 6.8
Descrição
O problema decorre de duas falhas de bloqueio no código de depuração da zona térmica dentro do kernel do Linux. A primeira falha ocorre quando o espaço do usuário abre o arquivo “mitigations” de uma zona térmica antes que o ponteiro debugfs da zona seja definido, resultando em uma desreferência de ponteiro NULL em
tze seq start(). O segundo problema é que thermal debug tz remove() não é chamado sob o bloqueio da zona térmica, permitindo que seja executado em paralelo com outras funções que acessam o objeto struct thermal debugfs da zona térmica. Isso pode levar à liberação prematura do objeto struct thermal debugfs.Recomendações
Para resolver o primeiro problema, passe um ponteiro para o objeto
struct thermal debugfs da zona térmica para debugfs create file() em thermal debug tz add() e faça com que tze seq start(), tze seq next(), tze seq stop() e tze seq show() o recuperem de s->private em vez de um ponteiro para o objeto da zona térmica.Para resolver o segundo problema, use
tz->lock em thermal debug tz remove() ao redor da verificação do valor tz->debugfs e sua redefinição para NULL.Atualize para a versão 6.8 ou posterior do kernel do Linux para resolver o problema.
Exploit
Correção
Improper Locking
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Astra Linux
Linuxmint
Linux Kernel
Red Hat
Ubuntu