Description
Tink-go (tink-crypto/tink-go) through 2.8.0 contains an input-validation vulnerability where keyset.NewHandleWithNoSecrets() and ReadWithNoSecrets() skip the structural Validate() step before constructing a keyset.Handle, allowing malformed public or no-secret keysets that violate Tink's keyset invariants to be accepted. Attackers can supply a malformed keyset, such as one with an enabled public key lacking a valid primary key or a DESTROYED key with no KeyData, causing inconsistent downstream validation where functions like jwt.JWKSetFromPublicKeysetHandle() process the invalid handle and produce a JWK set, potentially misleading applications that rely on successful handle construction as proof of keyset integrity.
Published: 2026-10-12
Score: 6.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Integrity Compromise via Keyset Validation Bypass
Action: Patch
AI Analysis

Impact

Tink‑go up through version 2.8.0 contains an input‑validation flaw where keyset.NewHandleWithNoSecrets() and ReadWithNoSecrets() skip the structural Validate() step that normally enforces Tink’s keyset invariants. This omission allows an attacker to supply a malformed keyset— for example, an enabled public key that is not the primary key or a DESTROYED key lacking KeyData—yet still create a keyset.Handle. Functions such as jwt.JWKSetFromPublicKeysetHandle() use that handle to generate a JWK set, which leads applications to believe they are operating on a valid keyset when in fact the integrity of the key material is compromised.

Affected Systems

The affected vendor and product are tink‑crypto’s Tink‑go library for Go. All releases up through version 2.8.0 are impacted; newer releases are presumed to have corrected the validation bypass.

Risk and Exploitability

The CVSS score of 6.9 indicates medium severity. No EPSS score is provided and the vulnerability is not listed in CISA KEV, so no widespread public exploits are currently known. The likely attack vector involves an application that accepts keysets from untrusted sources— such as configuration files, user uploads, or external services— and passes them to the vulnerable functions. Because structural validation is omitted, malformed keysets can be treated as valid, potentially leading to incorrect cryptographic operations or misidentified public keys, which could degrade confidentiality, integrity, or availability of the protected data.

Generated by OpenCVE AI on October 12, 2026 at 21:52 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to the latest Tink‑go release (v2.8.1 or newer) that restores proper validation before handle creation.
  • If an upgrade cannot be performed, explicitly call keyset.Validate() on any keyset before constructing a keyset.Handle with NewHandleWithNoSecrets or ReadWithNoSecrets.
  • Restrict calls to NewHandleWithNoSecrets and ReadWithNoSecrets to internally trusted keysets; disallow processing of external or user‑supplied data.

Generated by OpenCVE AI on October 12, 2026 at 21:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 27 Oct 2026 04:30:00 +0000

Type Values Removed Values Added
First Time appeared Google
Google tink Go
CPEs cpe:2.3:a:google:tink_go:*:*:*:*:*:*:*:*
Vendors & Products Google
Google tink Go

Tue, 13 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 13 Oct 2026 07:45:00 +0000

Type Values Removed Values Added
First Time appeared Tink-crypto
Tink-crypto tink-go
Vendors & Products Tink-crypto
Tink-crypto tink-go

Mon, 12 Oct 2026 20:00:00 +0000

Type Values Removed Values Added
Description Tink-go (tink-crypto/tink-go) through 2.8.0 contains an input-validation vulnerability where keyset.NewHandleWithNoSecrets() and ReadWithNoSecrets() skip the structural Validate() step before constructing a keyset.Handle, allowing malformed public or no-secret keysets that violate Tink's keyset invariants to be accepted. Attackers can supply a malformed keyset, such as one with an enabled public key lacking a valid primary key or a DESTROYED key with no KeyData, causing inconsistent downstream validation where functions like jwt.JWKSetFromPublicKeysetHandle() process the invalid handle and produce a JWK set, potentially misleading applications that rely on successful handle construction as proof of keyset integrity.
Title Tink-go 2.8.0 Keyset Validation Bypass via NewHandleWithNoSecrets
Weaknesses CWE-1286
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N'}

cvssV4_0

{'score': 6.9, 'vector': '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'}


Subscriptions

Google Tink Go
Tink-crypto Tink-go
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-27T01:30:42.123Z

Reserved: 2026-10-12T15:52:36.681Z

Link: CVE-2026-109425

cve-icon Vulnrichment

Updated: 2026-10-13T15:03:47.340Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-12T20:17:09.293

Modified: 2026-10-16T18:14:51.460

Link: CVE-2026-109425

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-13T07:25:49Z

Weaknesses
  • CWE-1286

    Improper Validation of Syntactic Correctness of Input