Go-Attestation Improper Input Validation with attacker-controlled TPM Quote
Moderate severity
GitHub Reviewed
Published
Jan 31, 2022
in
google/go-attestation
•
Updated Aug 29, 2023
Description
Reviewed
Jan 31, 2022
Published to the GitHub Advisory Database
Feb 1, 2022
Published by the National Vulnerability Database
Feb 4, 2022
Last updated
Aug 29, 2023
Impact
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 inEventlog.Verify
lacks the authentication performed by quote verification, meaning a local attacker could couple this vulnerability with a maliciously-crafted TCG log inEventlog.Verify
to spoof events in the TCG log, hence defeating remotely-attested measured-boot.Patches
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 ofAKPublic.Verify
.References