An improper input validation vulnerability in go-attestation before 0.4.0 allows local users to provide a maliciously-formed Quote over no/some PCRs, causing AKPublic.Verify
to succeed despite the inconsistency. Subsequent use of the same set of PCR values in Eventlog.Verify
lacks the authentication performed by quote verification, meaning a local attacker could couple this vulnerability with a maliciously-crafted TCG log in Eventlog.Verify
to spoof events in the TCG log, hence defeating remotely-attested measured-boot.
This issue is resolved in version 0.4.0. If your usage of this library verifies PCRs using multiple quotes, make sure to use the new method AKPublic.VerifyAll()
instead of AKPublic.Verify
.
{ "nvd_published_at": "2022-02-04T23:15:00Z", "cwe_ids": [ "CWE-20" ], "severity": "MODERATE", "github_reviewed": true, "github_reviewed_at": "2022-01-31T22:15:30Z" }