Improper Initialization Affecting github.com/google/go-tpm/tpm Open this link in a new tab package, versions <0.2.0 >0.2.0 <0.3.0


0.0
medium
  • Attack Complexity

    High

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • snyk-id

    SNYK-GOLANG-GITHUBCOMGOOGLEGOTPMTPM-598254

  • published

    12 Aug 2020

  • disclosed

    12 Aug 2020

  • credit

    Chris Fenner

How to fix?

Upgrade github.com/google/go-tpm/tpm to version 0.2.0, 0.3.0 or higher.

Overview

github.com/google/go-tpm/tpm is a Go library that communicates directly with a TPM device on Linux or Windows machines.

Affected versions of this package are vulnerable to Improper Initialization. An improperly initialized migrationAuth value in Google's go-tpm TPM1.2 library versions prior to 0.3.0 can lead an eavesdropping attacker to discover the auth value for a key created with CreateWrapKey. An attacker listening in on the channel can collect both encUsageAuth and encMigrationAuth, and then can calculate usageAuth ^ encMigrationAuth as the migrationAuth can be guessed for all keys created with CreateWrapKey. TPM2.0 is not impacted by this. We recommend updating your library to 0.3.0 or later, or, if you cannot update, to call CreateWrapKey with a random 20-byte value for migrationAuth.