Improper Initialization Affecting github.com/google/go-tpm/tpm package, versions <0.2.0>0.2.0 <0.3.0


Severity

Recommended
0.0
medium
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.05% (21st percentile)

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 IDSNYK-GOLANG-GITHUBCOMGOOGLEGOTPMTPM-598254
  • published12 Aug 2020
  • disclosed12 Aug 2020
  • creditChris Fenner

Introduced: 12 Aug 2020

CVE-2020-8918  (opens in a new tab)
CWE-665  (opens in a new tab)

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.

CVSS Scores

version 3.1