Security advisory
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'.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2020-8918
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 10:59 UTC · Revision 1
Source evidence
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'.
osv:CVE-2020-8918
Complete source record
{
"id": "84c271f79e8a6d30efcd9dc89b2ec12a1c6458a85fd8454e775b408f853c64a8",
"url": "https://osv.dev/vulnerability/CVE-2020-8918",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2020-8918",
"summary": "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'.",
"evidence": "osv:CVE-2020-8918",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2020-8918",
"aliases": [
"CVE-2020-8918",
"GHSA-5x29-3hr9-6wpw",
"GO-2021-0095"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/google/go-tpm",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "d7806cce857a1a020190c03348e5361725d8f141"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:google:go-tpm:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "0.3.0"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"v0.2.0",
"v0.1.1",
"v0.1.0",
"v0.0.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-8918.json"
}
}
],
"modified": "2026-10-20T10:52:16.081870900Z",
"provider": "osv",
"references": [
"https://github.com/google/go-tpm/security/advisories/GHSA-5x29-3hr9-6wpw"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2020-8918",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 383518,
"published_at": "2020-08-11T19:15:17.547+00:00"
}