CVE-2026-65628Medium· 5.9▾ Sunlitjose_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-…
▾ Sunlit zone — Low / medium · no exploitation signal
impact 32.5 · likelihood 0 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Oct 27.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via CVEORG
0.1%
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.
jose >= 1.5.0 < 1.11.13potatosalad/erlang-jose >= 7b80b9f55b9898e1a6901ce136061b241b021d7c < 26182a7de63b91550035d3f08741f7d17f1f675aRefer to the linked advisories for vendor-supplied fixes and affected version ranges.
Before calling JOSE.JWK.shared_secret/2, verify that the externally supplied peer key's type (kty) and curve match your own key, and reject any key whose type does not match before attempting derivation.
Connected by shared product, vendor, weakness, or advisory.
CVE-2026-65625Medium· 5.9Attacker-controlled AES-GCM authentication tag length allows tag forgery in jose
CVE-2026-65626Medium· 5.9Bleichenbacher padding oracle in RSAES-PKCS1-v1_5 decryption in jose
CVE-2026-65627Medium· 6.9Decompression bomb via unbounded zlib:inflate in jose_jwe_zip:uncompress/2
CVE-2026-65629High· 7.4Weak PBKDF2 parameters for password-encrypted private-key export in jose
CVE-2026-65631Medium· 6.9erlang-jose RSA JWK parsing attempts to factor an attacker-controlled modulus, enabling CPU-exhaustion denial of service
CVE-2026-65632Medium· 5.1ECDSA signature length is not validated in jose, allowing signature malleability