Skip to main content

go-attestation CVE-2026-12681

| EUVDEUVD-2026-38641 HIGH
Improper Validation of Specified Index, Position, or Offset in Input (CWE-1285)
2026-06-24 Google GHSA-9r4w-jg96-92mv
8.9
CVSS 4.0 · Vendor: Google
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Compromise endpoint boot chain or attestation channel
  2. Delivery
    Craft EFI_SIGNATURE_LIST with hashSHA256SigGUID and malicious vendor header
  3. Exploit
    Submit TPM event log to verifier
  4. Execution
    parseEfiSignatureList reads vendor bytes as trusted hash
  5. Persist
    Verifier accepts compromised boot state as legitimate
  6. Impact
    Attacker retains foothold on attested-trusted host

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Hardware permission validation
Exploitation Conditions

Exploitation requires that a service consume go-attestation (through 0.6.0) as a remote attestation verifier and parse an EFI_SIGNATURE_LIST structure - typically delivered inside a TCG TPM event log - that originates from a host the attacker controls or can tamper with in transit; the malicious list must specify hashSHA256SigGUID as its SignatureType and a non-zero SignatureHeaderSize whose vendor bytes encode the attacker-chosen 16-byte GUID and 32-byte SHA256 hash. The attack is limited to verifier deployments that actually trust parsed Secure Boot databases for measurement decisions, requires the attacker to produce a well-formed event log that survives surrounding parsers (raising AC to High), and does not apply to platforms that ignore EFI signature lists or that pin trusted hashes out-of-band; no authentication, user interaction, or local access is required beyond control of the submitted event log.

Impact

Risk depends heavily on deployment: in any architecture where a verifier accepts attestation evidence from an untrusted or remote endpoint (the canonical use case for this library), the published CVSS:4.0 vector AV:N/AC:H/AT:N/PR:N/UI:N with VI:H and SI:H is realistic - there is no authentication or user interaction, but crafting a valid EFI_SIGNATURE_LIST that survives surrounding parsers raises complexity. Impact is squarely on integrity of attestation decisions (verifier trusts a compromised boot), with no confidentiality or availability loss, which matches the published 8.9 score. There is no CISA KEV listing, no EPSS score, and no public exploit identified at time of analysis, so this is a high-severity logic flaw with no evidence of in-the-wild abuse yet - but because it directly defeats the trust anchor of remote attestation, treat it as a priority for any service that consumes go-attestation event logs. Note one inconsistency worth verifying: the NVD-style description says "through 0.6.0" while the GHSA lists "<= 0.5.0 vulnerable, fixed in: None" yet the references include a v0.6.1 release tag and a merged patch commit - operators should confirm fixed-version pinning against the upstream release.

Exploit ScenarioDerived

An attacker controlling a target endpoint (or a man-in-the-middle on the attestation channel) crafts a TPM event log containing an EFI_SIGNATURE_LIST whose SignatureHeader vendor region encodes a fake 16-byte GUID followed by the SHA256 hash of the attacker's tampered bootloader. When the verifier built on go-attestation parses that list, the vendor bytes are interpreted as the first signature entry, the tampered hash is added to the trusted measurement database, and the verifier subsequently accepts the compromised boot state as legitimate. No public exploit identified at time of analysis, but the regression test TestParseEfiSignatureListVendorHeaderNotTrusted in the fix commit demonstrates the exact byte layout needed.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 24, 2026

Trusted measurement-list poisoning in Google go-attestation through 0.6.0 lets a remote actor who controls a TPM event log fed to an attestation verifier inject arbitrary SHA256 hashes into the verifier's trusted hash database. Because parseEfiSignatureList() never advances past the EFI_SIGNATURE_LIST SignatureHeaderSize vendor bytes, those attacker-chosen bytes are accepted as legitimate hash entries, allowing a compromised boot state to be attested as healthy. No public exploit identified at time of analysis, but the fix is upstream in v0.6.1 and the root cause is documented in GHSA-9r4w-jg96-92mv.

RemediationAI

Upstream fix available in go-attestation v0.6.1 (https://github.com/google/go-attestation/releases/tag/v0.6.1) via commit b6e905e7ae52937f02b5ca494dd1c6a3ac7a1003, which adds a bound check rejecting SignatureHeaderSize values that meet or exceed the remaining list space and seeks past SignatureHeaderSize vendor bytes before both the certificate and hash entry loops; update go.mod to require at least v0.6.1 and rebuild and redeploy any verifier services. Review the advisory at https://github.com/google/go-attestation/security/advisories/GHSA-9r4w-jg96-92mv for full context. Until the upgrade is rolled out, compensating controls include refusing attestation evidence from untrusted endpoints, pinning the set of acceptable PCR measurements and SHA256 hashes out-of-band rather than relying on the parsed Secure Boot db, and rejecting event logs whose EFI_SIGNATURE_LIST entries contain a non-zero SignatureHeaderSize - the side effect is that some legitimate firmware-vendor event logs that legitimately populate the vendor header region will be discarded and may need manual exception handling.

Affected VersionsENISA

go-attestation 0 ≤0.6.0

Affected Packages

go github.com/google/go-attestation fix: 0.6.1
euvd go_attestation no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

go-attestation is Google's Go library for TPM-based platform and remote attestation, commonly consumed by verifier services that ingest a measured-boot TCG event log and validate EFI Secure Boot signature databases (db/dbx/PK/KEK) embedded in those events. The flaw lives in attest/internal/events.go parseEfiSignatureList(), which parses EFI_SIGNATURE_LIST structures defined by UEFI specification section 31.4.1. Per spec, after the 28-byte fixed header there is a vendor-defined SignatureHeader region of SignatureHeaderSize bytes that must be skipped before signature entries begin; the buggy code initialized sigOffset to 0 for both the cert and hash entry loops, treating those vendor bytes as the first entry. For hashSHA256SigGUID lists, 48-byte entries (16-byte GUID + 32-byte hash) are emitted, so attacker-supplied vendor bytes become trusted hashes. This is CWE-1285 (Improper Validation of Specified Index, Position, or Offset) and only the single CPE cpe:2.3:a:google:go-attestation is affected.

Know when Go Attestation gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Google) PRIMARY 8.9 HIGH
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N
vuln.today AI 5.9 MEDIUM

Verifier ingests remote event log so AV:N/PR:N/UI:N; crafting a valid EFI_SIGNATURE_LIST that survives parsing raises AC:H; only integrity of attestation decisions is impacted.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N

Primary rating from Vendor (Google).

CVSS VectorVendor: Google

Attack Vector
Network
Attack Complexity
High
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
High
Subsequent system: Availability
None

DescriptionCVE.org

Improper Validation of Specified Index, Position, or Offset in Input vulnerability in Google go-attestation. parseEfiSignatureList() does not advance the buffer past vendor bytes before reading entries. For hashSHA256SigGUID lists, this allows attacker-controlled vendor header bytes to be appended to the trusted SHA256 hash list. A crafted TPM event log could inject arbitrary SHA256 hashes into the verifier's trusted measurement database, enabling a remote attestation verifier to accept a compromised boot state. This issue affects go-attestation: through 0.6.0.

Executive ViewAI

Why It Matters

Google go-attestation versions through 0.6.0 allow remote attackers to poison the trusted measurement list, causing compromised boot states to be incorrectly attested as legitimate. Organizations relying on this library for secure boot verification face integrity failures that could enable execution of unauthorized code in supposedly hardened systems.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Low
specialized Go TPM attestation library, niche verifier deployments
Threat Intel
1
1 sources
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy