Live › vulnerability › CVE-2026-115408
Go to dashboardThe Go library github.com/eclipse-keypont/crypto11/v2 finds an ML-KEM public key by label or ID without checking it matches the private key, and falls back to returning the first ML-KEM public key on the token when no ID is set. An attacker who can plant a public ML-KEM object on the token can get shared secrets from encapsulations that were meant for the victim's key.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-27 12:31 UTC. All times on this page are UTC.
Only teams using the v2 module of crypto11 () for ML-KEM key pairs on a PKCS#11 token. The exposure needs a token that an attacker can write public objects to without logging in. Teams on v1 paths or not using ML-KEM can skip it.
>= 2.0.0-rc3, <= 2.0.0-rc8No product ranges from the sources yet.
github.com/eclipse-keypont/crypto11/v2 in go.mod (look for require github.com/eclipse-keypont/crypto11/v2 v2.0.0-rc...).FindMLKEMKeyPair, FindMLKEMKeyPairs or FindMLKEMKeyPairsWithAttributes.github.com/eclipse-keypont/crypto11/v2 to a version above 2.0.0-rc8 (the fixed version number is unknown from the sources).Each row is the first time that source carried this signal. The analyst’s rows are its own findings.
In github.com/eclipse-keypont/crypto11/v2 versions >= 2.0.0-rc3, <= 2.0.0-rc8, the ML-KEM key-pair lookup functions (FindMLKEMKeyPair, FindMLKEMKeyPairs, FindMLKEMKeyPairsWithAttributes) locate the public half of an ML-KEM key pair by CKA_ID/CKA_LABEL and never verify it against the private key. In addition, the "ID only" fallback search runs even when the private key has no CKA_ID, so the search template reduces to the public-key class and the ML-KEM key type and the first ML-KEM public key on the token is returned. Encapsulate() on the resulting key pair encrypts the fresh shared secret to that key, so its owner — not the holder of the private key the caller looked up — can recover the secret. An attacker who can open an unauthenticated session on the token and plant a public CKK_ML_KEM object carrying the victim's CKA_ID/CKA_LABEL receives the shared secrets for encapsulations performed through the substituted key pair, compromising the confidentiality of those secrets and of everything protected by keys derived from them. The v1 module paths have no ML-KEM support and are not affected.
This page as .md · .json · in your agent: get_signal("CVE-2026-115408")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.