PT-2020-20368 · Google · Go-Tpm

Chris Fenner

+1

·

Publicado

2020-08-11

·

Atualizado

2022-02-11

·

CVE-2020-8918

CVSS v3.1

7.1

Alta

VetorAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Nome do software vulnerável e versões afetadas
Versões do go-tpm anteriores à 0.3.0
Descrição
O problema decorre de um valor ‘migrationAuth’ inicializado incorretamente na biblioteca go-tpm, permitindo que um invasor que esteja interceptando a comunicação descubra o valor de autenticação de uma chave criada com CreateWrapKey. Isso se deve ao uso repetido de uma chave XOR, permitindo que o invasor calcule usageAuth para chaves criadas usando CreateWrapKey, apesar de estarem criptografadas. O invasor pode coletar tanto encUsageAuth quanto encMigrationAuth e, em seguida, calcular usageAuth ^ encMigrationAuth, já que o migrationAuth pode ser adivinhado para todas as chaves criadas com CreateWrapKey. Usuários do TPM 2.0 não são afetados por este problema.
Recomendações
Para versões do go-tpm anteriores à 0.3.0, atualize a biblioteca para a versão 0.3.0 ou posterior.
Como solução alternativa temporária, considere chamar CreateWrapKey com um valor aleatório de 20 bytes para migrationAuth, mesmo que esse valor não seja usado novamente, e não armazene nem registre esse valor.

Exploit

Correção

Improper Initialization

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2020-8918
GHSA-5X29-3HR9-6WPW
GO-2021-0095

Produtos afetados

Go-Tpm