Linux · Linux Kernel · CVE-2022-48997
**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.