PT-2024-11860 · Linux+6 · Linux Kernel+6
Vlastimil Babka
·
Publicado
2022-11-28
·
Atualizado
2025-09-29
·
CVE-2022-48997
CVSS v3.1
4.7
Média
| Vetor | AV:L/AC:H/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.1.0-rc5+
Descrição
O problema está relacionado à função tpm pm suspend() no kernel Linux, que pode causar conflitos de acesso com outros acessadores de TPM no sistema. Especificamente, o driver hw random do TPM utiliza a função tpm get random(), e essa função é chamada em um loop a partir de um kthread, o que significa que ela não fica congelada junto com o espaço do usuário e, portanto, pode entrar em conflito com o trabalho realizado durante a suspensão do sistema. O número estimado de dispositivos potencialmente afetados em todo o mundo não está disponível. Não há informações sobre incidentes reais em que esse problema tenha sido explorado.
A função
tpm pm suspend() está vulnerável, e a função tpm get random() é chamada em um loop a partir de um kthread.Para corrigir isso, a função
tpm try get ops() é chamada, que por sua vez é um wrapper em torno de tpm chip start(), mas utiliza o mutex apropriado.Recomendações
Para versões do kernel Linux anteriores à 6.1.0-rc5+, considere atualizar para uma versão mais recente para mitigar o risco.
Como solução temporária, considere desativar a função
tpm pm suspend() até que um patch esteja disponível.Restrinja o acesso à função
tpm get random() para minimizar o risco de exploração.Exploit
Correção
Race Condition
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
Centos
Linux Kernel
Red Hat
Red Os
Suse