Skip to main content

go-witness CVE-2025-62375

MEDIUM
Improper Certificate Validation (CWE-295)
2025-10-15 security-advisories@github.com
6.9
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Gain IMDS impersonation / MITM position
  2. Delivery
    Supply forged instance identity document
  3. Exploit
    Attestor skips or mis-verifies signature
  4. Execution
    Forged attestation accepted as valid
  5. Impact
    Downstream trust decision corrupted

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate validation
Exploitation Conditions

Only deployments using the go-witness/witness AWS attestor are affected. Exploitation requires the attacker to supply or intercept AWS EC2 instance identity document data - in practice an IMDS impersonation or man-in-the-middle position against the metadata service (the scenario cited in AWS Security Bulletin aws-2025-021). Verification wrongly succeeds specifically when the signature is absent/empty or when RSA verification fails; additionally, the attestor embeds only the single legacy global AWS certificate and lacks the 2024 region-specific certificates, so forged documents are hard to detect without externally supplied trusted region certificate data. Limiting factors: impact is confined to attestation trust/integrity (no code execution, no data disclosure), the AWS attestor must actually be in use, and the attacker needs a network interception or IMDS-impersonation foothold rather than purely remote unauthenticated access to a default service.

Impact

This is a medium-severity integrity flaw (CWE-295, Improper Certificate Validation) with a genuinely limited real-world risk profile, and the signals are largely consistent. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) shows no confidentiality or availability impact and only LOW integrity impact (VI:L) - the damage is incorrect trust decisions from a forged attestation, not direct code execution or data theft. EPSS is very low (0.20%, 9th percentile), there is NO CISA KEV listing, and no public exploit was identified, so there is no evidence of active or imminent widespread exploitation. One point of tension: the vendor vector rates AC:L/AT:N (easy, no special requirement), yet the GHSA and description make clear that exploitation requires the attacker to supply or intercept Instance Metadata Service (IMDS) data - effectively a privileged network/MITM position - which argues for higher attack complexity or an attack requirement than the published vector reflects. This is a real, legitimate supply-chain trust weakness worth patching for anyone using the AWS attestor, but it is not a drop-everything emergency: the impact is bounded to integrity of attestation trust, exploitation is conditional on a MITM/impersonation foothold, and no exploitation activity is confirmed.

Exploit ScenarioDerived

No public exploit was identified at time of analysis. An attacker who can impersonate the EC2 Instance Metadata Service (per AWS's 2025 IMDS impersonation bulletin) or otherwise intercept/supply instance identity document data presents a forged identity document with a missing, empty, or RSA-invalid signature. Because the AWS attestor incorrectly reports successful verification in these cases, the forged document is accepted and downstream supply-chain systems make trust decisions based on a fraudulent attestation.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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 – Oct 08, 2026

Improper verification of AWS EC2 instance identity documents in go-witness (through 0.8.6) and witness (through 0.9.2) allows a forged attestation to be accepted as valid: the AWS attestor reports successful signature verification when the signature is missing or empty, and also when RSA verification of the document fails outright. Addresses: only deployments actually using the AWS attestor are affected, and an attacker must supply or intercept instance identity document data - realistically via Instance Metadata Service (IMDS) impersonation or a man-in-the-middle position against the metadata endpoint, the attack pattern described in AWS Security Bulletin aws-2025-021. Impact is limited to attestation trust/integrity (no code execution, no data disclosure), rated medium severity (CVSS 4.0 base 6.9; assessor vector CVSS:3.1/AV:N/AC:H/PR:N/UI:N/C:N/I:L/A:N); no public exploit code has been identified at time of analysis (EPSS ~0.20%, 9th percentile), and the issue is fixed in go-witness 0.9.1 and witness 0.10.1.

RemediationAI

Upgrade to the vendor-patched releases: go-witness 0.9.1 or witness 0.10.1, which replace the legacy global AWS certificate with region-specific certificates and correct the signature-verification logic (fix commit 04ff20b600e28ce8fd1aa287534dd383a1cfefb9). If upgrading is not immediately possible, the advisory-recommended workaround is to manually verify the identity document, signature, and public key contained in the attestation using standard tooling such as openssl, following AWS's verification guidance at https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/verify-iid.html#verify-signature and supplying the correct region-specific certificate from https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/regions-certs.html; alternatively disable the AWS attestor entirely until the upgrade is applied. Note that manual verification is operationally slower and does not scale in automated pipelines, and disabling the AWS attestor removes EC2 instance identity from your attestation policy - a trade-off you should document, since these attestations are also harder to validate retroactively without trusted region data. No evidence of active exploitation or public exploit code was identified at time of analysis.

Affected Packages

go github.com/in-toto/go-witness fix: 0.9.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in go

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

Technical ContextAI · show details

The affected component is the AWS attestor in the in-toto go-witness library (Go module github.com/in-toto/go-witness, CPE/package range < 0.9.1), which collects and cryptographically validates AWS EC2 instance identity documents (IIDs) - a signed JSON blob returned by the Instance Metadata Service that binds an instance ID, account, region, and AMI to a public key. Root cause is CWE-295 (Improper Certificate Validation): the code path at aws-iid.go treats an absent or empty signature as a passing check, and a failed RSA verification also falls through to a success result, so the verifier's boolean outcome does not actually reflect signature validity. Compounding this, the attestor hard-codes a single legacy global AWS public certificate rather than the region-specific certificates AWS began issuing around April 2024 (per the verification guidance at docs.aws.amazon.com/AWSEC2/latest/UserGuide/verify-iid.html). Because AWS's IMDS can be impersonated (see AWS Security Bulletin aws-2025-021), an adversary who can supply or intercept IID data can have a forged document accepted, and absent trusted region-specific certificate data the forgery is difficult to detect downstream. The upstream fix commit (04ff20b6) adds a per-region certificate map plus a check-aws-certs tooling target, replacing the legacy global certificate.

Know when AWS 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 (github) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 3.7 LOW

AC:H because exploitation requires an IMDS-impersonation or MITM position to supply forged documents; PR:N as no attestor credentials are needed; impact is integrity-only (I:L), no C or A.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Red Hat 5.9 MEDIUM

Primary rating from Vendor (github).

CVSS VectorVendor: github

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

DescriptionCVE.org

go-witness and witness are Go modules for generating attestations. In go-witness versions 0.8.6 and earlier and witness versions 0.9.2 and earlier the AWS attestor improperly verifies AWS EC2 instance identity documents. Verification can incorrectly succeed when a signature is not present or is empty, and when RSA signature verification fails. The attestor also embeds a single legacy global AWS public certificate and does not account for newer region specific certificates issued in 2024, making detection of forged documents difficult without additional trusted region data. An attacker able to supply or intercept instance identity document data (such as through Instance Metadata Service impersonation) can cause a forged identity document to be accepted, leading to incorrect trust decisions based on the attestation. This is fixed in go-witness 0.9.1 and witness 0.10.1. As a workaround, manually verify the included identity document, signature, and public key with standard tools (for example openssl) following AWS’s verification guidance, or disable use of the AWS attestor until upgraded.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Low
niche in-toto supply-chain attestation tooling, limited production footprint
Data Quality
4 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in AWS

View all
CVE-2026-103956 CRITICAL POC
10.0 Oct 02

Loom for AWS deployments running a version before 1.6.1 with no identity provider configured expose an unauthenticated s

CVE-2026-27702 CRITICAL POC
9.9 Feb 25

Unauthorized data access in Budibase low-code platform before 3.30.4 allows unauthenticated users to manipulate internal

CVE-2025-64709 CRITICAL POC
9.9 Nov 13

Authenticated Typebot users can abuse the webhook block (HTTP Request component) in versions prior to 3.13.1 to issue ar

CVE-2020-37153 CRITICAL POC
9.8 Feb 11

Multiple vulnerabilities in ASTPP 4.0.1 including XSS and command injection in SIP device configuration and plugin manag

CVE-2026-87911 CRITICAL POC
9.0 Sep 09

Remote code execution in Amazon awslabs postgres-mcp-server before 1.1.7 lets remote actors run arbitrary OS commands on

CVE-2026-11393 HIGH POC
8.8 Jun 08

Remote code execution in AWS AgentCore CLI before v0.14.2 allows authenticated attackers to inject Python code via craft

CVE-2026-18140 HIGH POC
8.7 Jul 30

Denial of service in the aws-smithy-json Rust runtime crate (versions before 0.62.7) lets remote unauthenticated attacke

CVE-2026-16756 HIGH POC
8.7 Jul 23

Denial of service in Amazon's aws-smithy-http-server Rust crate (versions prior to 0.66.5) lets remote unauthenticated a

CVE-2026-16796 HIGH POC
8.4 Jul 23

Argument injection in the AWS Bedrock AgentCore Python SDK before 1.18.1 lets a remote authenticated user run arbitrary

CVE-2026-9133 HIGH POC
8.3 May 20

Arbitrary file read in amazon-mq rabbitmq-aws before 0.2.1 allows authenticated remote users to read any file accessible

CVE-2026-13763 HIGH POC
7.9 Jun 29

WAF managed-rule body inspection on AWS Application Load Balancer (ALB) can be bypassed by remote actors who fragment an

CVE-2026-13762 HIGH POC
7.9 Jun 29

WAF inspection bypass in Amazon CloudFront (with AWS WAF enabled) lets remote actors smuggle malicious request bodies pa

Vendor StatusVendor

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