Junglewise Threat Intelligence

Google go-attestation hash injection in parseEfiSignatureList

Severity: medium · CVSS 6.8 · Published 2026-06-12

Technologies: Google Go-Attestation. Vendors: Google, Go.

Executive brief

Google's go-attestation library, used to verify the integrity of a computer's boot process, contains a flaw in how it parses security signatures. An attacker could provide a specially crafted log that tricks the system into accepting a compromised or malicious boot state as legitimate. This undermines the core security guarantee that the system is running trusted software.

Technical details

The parseEfiSignatureList() function in attest/internal/events.go fails to skip SignatureHeaderSize vendor bytes before reading EFI_SIGNATURE_LIST entries, violating the UEFI specification. Because the loop offset starts at zero instead of the header size, attacker-controlled vendor bytes are interpreted as valid SHA256 hashes. A remote attacker can provide a crafted TPM event log to inject arbitrary hashes into the verifier's trusted measurement database. This allows a compromised boot state to pass remote attestation. The issue is fixed in version 0.6.0 by adding bounds checks and correctly skipping the header bytes.

Affected products

  • Google go-attestation <= 0.5.0

Timeline

  • 2026-05-15: other: Last vulnerable commit f877374
  • 2026-05-21: disclosed
  • 2026-06-12: advisory

References

Related threats