PT-2020-20368 · Google · Go-Tpm

Chris Fenner

+1

·

Published

2020-08-11

·

Updated

2022-02-11

·

CVE-2020-8918

CVSS v3.1

7.1

High

VectorAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Name of the Vulnerable Software and Affected Versions go-tpm versions prior to 0.3.0
Description The issue arises from an improperly initialized 'migrationAuth' value in the go-tpm library, allowing an eavesdropping attacker to discover the auth value for a key created with CreateWrapKey. This is due to the repeated usage of a XOR key, enabling the attacker to calculate usageAuth for keys created using CreateWrapKey, despite it being encrypted. The attacker can collect both encUsageAuth and encMigrationAuth, and then calculate usageAuth ^ encMigrationAuth as the migrationAuth can be guessed for all keys created with CreateWrapKey. TPM 2.0 users are unaffected by this issue.
Recommendations For go-tpm versions prior to 0.3.0, update the library to 0.3.0 or later. As a temporary workaround, consider calling CreateWrapKey with a random 20-byte value for migrationAuth, even though that value is not used again, and do not store or log this value.

Exploit

Fix

Improper Initialization

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

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

Affected Products

Go-Tpm