CVE-2026-109425
Tink-go 2.8.0 Keyset Validation Bypass via NewHandleWithNoSecrets
Published Oct 12, 2026 · updated Oct 14, 2026 · tink-crypto tink-go
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.
Timeline
Detection, updates, and resolution for this record.
Oct 12, 2026 · CIRCL Vulnerability Lookup
Detected
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 k
Oct 14, 2026 · CIRCL Vulnerability Lookup
Updated
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 k
Affected
- vendor tink-crypto tink-goversion unspecified
Sources
- CIRCL Vulnerability LookupCVE-2026-109425
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 violat
vulnerability.circl.lu - CVE.orgCVE-2026-109425
Official CVE identifier
cve.org - FIRST EPSSCVE-2026-109425
30-day exploitation probability 0.2%
first.org