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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| tink-crypto | tink-go | 2.0.0 – ≤ 2.8.0 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | golang-github-tink-crypto-tink-go | 2.9.0-1 | — |
| Debian 13 | golang-github-tink-crypto-tink-go | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | golang-github-tink-crypto-tink-go | No fix yet | — |
| Ubuntu 26.04 LTS | golang-github-tink-crypto-tink-go | No fix yet | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | google-osconfig-agent | 20261103.02-1.1 | openSUSE-SU-2026:12430-1 |
Advisories 1
- openSUSE-SU-2026:12430-1 google-osconfig-agent-20261103.02-1.1 on GA media SUSE / openSUSE Security Updates · Nov 6, 2026
References
- Researcher Disclosure technical-description exploit issue-tracking
- VulnCheck Advisory: Tink-go 2.8.0 Keyset Validation Bypass via NewHandleWithNoSecrets third-party-advisory