CVE-2025-62375 Overview
CVE-2025-62375 affects go-witness versions 0.8.6 and earlier and witness versions 0.9.2 and earlier. Both are Go modules used to generate supply chain attestations under the in-toto project. The AWS attestor improperly verifies AWS EC2 instance identity documents (IIDs). Verification incorrectly succeeds when a signature is missing, empty, or when RSA verification fails. The attestor also embeds a single legacy global AWS public certificate and does not account for region-specific certificates issued by AWS in 2024. An attacker who can supply or intercept IID data, including through Instance Metadata Service (IMDS) impersonation, can inject a forged identity and corrupt downstream trust decisions.
Critical Impact
Forged AWS EC2 instance identity documents can be accepted as valid, leading attestations to bind to fraudulent workload identities and undermining supply chain trust decisions.
Affected Products
- go-witness versions 0.8.6 and earlier
- witness versions 0.9.2 and earlier
- Any CI/CD pipeline or supply chain attestation workflow using the AWS attestor from these versions
Discovery Timeline
- 2025-10-15 - CVE-2025-62375 published to NVD
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-62375
Vulnerability Analysis
The vulnerability is an improper certificate validation flaw [CWE-295] in the AWS attestor component of go-witness and witness. The AWS attestor is responsible for asserting that an attestation was produced on a genuine AWS EC2 instance by verifying the RSA-signed instance identity document returned from the Instance Metadata Service. Two verification defects combine to break this trust boundary.
First, the verification path treats missing or empty signatures as acceptable and does not halt when RSA signature verification returns an error. An attacker supplying a fabricated identity document without a valid signature can therefore satisfy the check. Second, the attestor embeds only a single legacy global AWS public certificate. AWS introduced region-specific signing certificates in 2024, so documents signed by newer regional keys are indistinguishable from forgeries without adding trusted regional certificate data.
Downstream systems that consume Witness attestations use the AWS attestor output to make identity and provenance decisions. Accepting a forged IID causes attestations to bind to a fraudulent workload identity, weakening any policy that relies on the AWS attestor as a source of ground truth.
Root Cause
The root cause is incomplete signature validation logic combined with an outdated set of trust anchors. The verification function fails open on signature-absent and signature-invalid conditions rather than failing closed. The hard-coded certificate list omits the regional certificates AWS began issuing in 2024, so legitimate detection of forged documents cannot occur in regions using newer keys.
Attack Vector
An attacker positioned to supply or intercept IID data can present a forged document to the attestor. This includes IMDS impersonation from a compromised instance, adversary-in-the-middle interception of metadata traffic, or direct injection of crafted identity data into an attestation-producing process. The attack requires no authentication and can be executed over the network.
# Patch snippet from the upstream fix (Makefile)
# Adds a helper target that pulls the current valid AWS certificates
# used to verify AWS Instance Identity Documents.
.PHONY: check-aws-certs
check-aws-certs: ## Check the AWS public keys used to verify AWS IID documents
GOWORK=off go run -C ./attestation/aws-iid/check-certs/ . ../aws-certs.go
Source: in-toto/go-witness commit 04ff20b
Detection Methods for CVE-2025-62375
Indicators of Compromise
- Witness attestations that reference AWS instance identity documents but originate from build agents outside AWS or from regions whose certificates are not in the attestor trust store.
- Attestation payloads containing IID structures with empty, malformed, or missing signature fields that were nonetheless accepted.
- Unexpected IMDS traffic patterns on build hosts, including responses served by processes other than the AWS metadata service on 169.254.169.254.
Detection Strategies
- Inventory build systems and CI/CD runners for go-witness versions 0.8.6 or earlier and witness versions 0.9.2 or earlier using software composition analysis.
- Re-verify existing AWS attestations offline against the current AWS regional certificate set using openssl to identify previously accepted forgeries.
- Correlate attestation-generation events with authoritative AWS CloudTrail DescribeInstances records to confirm the referenced instance actually existed.
Monitoring Recommendations
- Alert on IMDS requests originating from unexpected build agents or from processes not associated with legitimate workload identity flows.
- Monitor CI/CD logs for AWS attestor invocations that succeed without a populated signature field.
- Track policy engine decisions that rely on AWS attestor output and flag decisions made from IIDs signed by unknown keys.
How to Mitigate CVE-2025-62375
Immediate Actions Required
- Upgrade go-witness to version 0.9.1 or later and witness to version 0.10.1 or later across all build and attestation systems.
- Audit prior attestations produced by affected versions and re-verify any that fed production policy decisions.
- Restrict IMDS access on build hosts using IMDSv2 with hop-limit enforcement to reduce impersonation exposure.
Patch Information
The fix is available in go-witness 0.9.1 and witness 0.10.1. The upstream patch adds a maintained set of current AWS signing certificates and repairs the signature verification path so missing or invalid RSA signatures cause verification to fail closed. See the GitHub Security Advisory GHSA-72c7-4g63-hpw5 and the upstream commit 04ff20b for the full change set.
Workarounds
- Disable the AWS attestor in Witness configuration until upgrades are completed on all affected systems.
- Manually verify the included identity document, signature, and public key with openssl per AWS's published IID verification guidance before trusting attestations.
- Maintain an out-of-band trust store containing current AWS regional certificates and validate IIDs against it as a compensating control.
# Manual verification of an AWS Instance Identity Document using openssl
# Extract document and signature from the IID payload, then verify
openssl smime -verify \
-in signature.pkcs7 \
-inform PEM \
-content document.json \
-certfile aws-region-cert.pem \
-noverify > /dev/null
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

