Live › vulnerability › CVE-2026-65628
Go to dashboardThe jose Elixir library's shared secret derivation loops forever when two JWKs have different key types, such as an EC key and an RSA key. An attacker who supplies a crafted peer JWK to an application that derives shared secrets from it can pin Erlang schedulers at 100% CPU and take the service down.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-26 20:50 UTC. All times on this page are UTC.
Applications using the jose Elixir library from version 1.5.0 up to but not including 1.11.13 that call JOSE.JWK.shared_secret/2 with a peer public key supplied by an external party. Applications that only use keys they generate or load from trusted configuration, or that do not derive ECDH shared secrets, are not exposed.
No product ranges from the sources yet.
mix deps | grep jose or inspect mix.lock for the jose version in useJOSE.JWK.shared_secret calls whose peer key comes from request inputjose Hex package to 1.11.13 or laterJOSE.JWK.shared_secretEach row is the first time that source carried this signal. The analyst’s rows are its own findings.
jose_jwk:shared_secret/2 (exposed in Elixir as JOSE.JWK.shared_secret/2) derives an ECDH shared secret from two JWKs. Its first function clause only matches when both JWKs carry the same key type (kty) module, and its fallback clause re-invokes itself as shared_secret(from(YourJWK), from(MyJWK)). Because from/1 returns an already-parsed jose_jwk record unchanged, passing two JWKs whose key types differ (for example an EC key and an RSA key) makes the fallback clause re-enter with identical arguments, producing an unbounded tail-recursive loop that never returns and never crashes.
An application that derives a shared secret from an externally supplied peer public key without first checking that the peer key's type and curve match its own key can be driven into this loop by an attacker-controlled JWK, pinning an Erlang scheduler at 100% CPU. Repeated requests exhaust the available schedulers, resulting in a denial of service.
This issue affects jose: from 1.5.0 before 1.11.13.
This page as .md · .json · in your agent: get_signal("CVE-2026-65628")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.