CVE-2026-109425
5.3MediumPublished 12 Oct 2026 · NVD status: Awaiting Analysis · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
- Impact
- Limited impact
- Weakness
- CWE-1286
Impact
Remote attackers can bypass keyset integrity checks by feeding malformed public keysets into applications relying on handle creation for validation. This leads to downstream validation flaws, such as generating unexpected JWK sets.
Root cause
The keyset.NewHandleWithNoSecrets() and ReadWithNoSecrets() functions skip the internal structural Validate() call, constructing handles from keysets that violate standard invariants.
Affected systems
tink-crypto/tink-go through 2.8.0
CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Fix & remediation
Upgrade to a fixed release once available; until then, manually call keyset validation logic or sanitize input keysets to enforce proper primary keys and valid key states before passing them to handle constructors.
$ go get github.com/tink-crypto/tink-go/v2@latestAI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD 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.