CVE-2026-65632Medium· 5.1▾ SunlitThe jose library accepts ECDSA (ES256, ES256K, ES384, and ES512) JWS signatures of a non-canonical length. When verifying an ECDSA signature, jose_jwk_kty_ec:verify/4 in src/jwk/jose_jwk_kty_ec.erl splits the raw signature in half by its…
▾ Sunlit zone — Low / medium · no exploitation signal
impact 28.1 · likelihood 0 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via CVEORG
0.09%
The jose library accepts ECDSA (ES256, ES256K, ES384, and ES512) JWS signatures of a non-canonical length. When verifying an ECDSA signature, jose_jwk_kty_ec:verify/4 in src/jwk/jose_jwk_kty_ec.erl splits the raw signature in half by its actual byte length (split_binary(Signature, byte_size(Signature) div 2)) instead of enforcing the fixed length required by RFC 7518 §3.4, and then decodes each half with crypto:bytes_to_integer/1, which ignores leading zero bytes.
As a result, an attacker who holds one valid token can prepend leading zero bytes to each of the R and S halves to produce longer signatures that still split evenly and decode to the same (r, s) pair, so many distinct signature byte strings all verify against the same key (signature malleability). This does not allow forging new payloads or impersonating a signer, because the underlying (r, s) values are unchanged. It does defeat any security control that assumes a valid token or its signature is unique, such as token-revocation-by-hash, replay or idempotency caches, and deduplication logic.
This issue affects jose: from 1.0.0 before 1.11.13.
jose >= 1.0.0 < 1.11.13potatosalad/erlang-jose >= a7746ecd4950f85a393136e449a91dac62b5c429 < 72ce1866622b9329347dc52a94173ac0317bc9cfRefer to the linked advisories for vendor-supplied fixes and affected version ranges.
Connected by shared product, vendor, weakness, or advisory.
CVE-2026-65627Medium· 6.9Decompression bomb via unbounded zlib:inflate in jose_jwe_zip:uncompress/2
CVE-2026-89086Critical· 9.1In the jose package before 0.11.0 for OCaml, library calls to validate an RSA signature only confirm that PKCS #1 decoding succeeds, and proceed to declare the signature valid without the required steps that involve the public key.
CVE-2026-34240High· 7.5JOSE is a Javascript Object Signing and Encryption (JOSE) library
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-65629High· 7.4Weak PBKDF2 parameters for password-encrypted private-key export in jose