CVE-2020-8918
vulnerability analysis and mitigation

Overview

CVE-2020-8918 is a security vulnerability discovered in Google's go-tpm TPM1.2 library versions prior to 0.3.0. The vulnerability involves an improperly initialized 'migrationAuth' value that could allow an eavesdropping attacker to compromise TPM key authorization values. The issue was disclosed and patched in July 2020 (GitHub Advisory).

Technical details

The vulnerability stems from a flaw in the ADIP (Authorization Data Insertion Protocol) implementation where both usageAuth and migrationAuth values are encrypted with the same XOR keystream, contrary to the TPM 1.2 specification requirements. This implementation error occurs in the CreateWrapKey command processing, where the encryption of authorization values should use different nonces (nonceEven and nonceOdd) for each auth value (GitHub Advisory).

Impact

An adversary who can eavesdrop on the TPM 1.2 transport path can calculate the usageAuth for a key created with CreateWrapKey, even though this value is supposed to be encrypted. By XORing encUsageAuth and encMigrationAuth together, an attacker can derive usageAuth when migrationAuth is a known or guessed value, allowing unauthorized use of the created key (GitHub Advisory).

Exploitability

The vulnerability requires the ability to passively monitor TPM 1.2 transport communications. The attack can be executed by collecting encUsageAuth and encMigrationAuth values during a CreateWrapKey command, then calculating (usageAuth XOR migrationAuth) from these values. If migrationAuth is predictable (such as all 0x00 bytes), the attacker can determine the key's usageAuth (GitHub Advisory).

Mitigation and workarounds

The vulnerability was fixed in go-tpm version 0.3.0. For TPM 1.2 users who cannot upgrade, a workaround is to call CreateWrapKey with a random 20-byte value for migrationAuth, even though that value is not used again. TPM 2.0 users are unaffected by this vulnerability (GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management