CVE-2026-65625Medium· 5.9▾ SunlitThe pure-Erlang AES-GCM fallback in jose_jwa_aes derives the number of verified authentication tag bits from the attacker-supplied tag itself. In the {aes_gcm, Bits} clause of block_decrypt/4, the incoming tag is guarded only by is_binar…
▾ 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.
The pure-Erlang AES-GCM fallback in jose_jwa_aes derives the number of verified authentication tag bits from the attacker-supplied tag itself. In the {aes_gcm, Bits} clause of block_decrypt/4, the incoming tag is guarded only by is_binary/1, with no check on its length. Verification in gcm_block_decrypt/6 then computes TBits = bit_size(T) and compares only those bits of the real 128-bit tag. An attacker who controls a JWE token can truncate the authentication tag to as little as 8 bits, so only 8 bits are ever checked. This reduces forgery resistance from 2^-128 to 2^-8, and a forged ciphertext is reliably accepted as authentic within 256 attempts without knowledge of the key (an authentication tag forgery and integrity bypass). Supplying a tag longer than 128 bits instead causes a badmatch that crashes the decrypting process. The fallback is reached through the public JWE decryption path whenever AES-GCM is not provided by a native crypto NIF, for example on FIPS or stripped or older OTP builds.
This issue affects jose: from 1.2.0 before 1.11.13.
jose >= 1.2.0 < 1.11.13potatosalad/erlang-jose >= 8848b172575fb7d7e1e2977e8ae0a21678d2157a < 3fa1f8e3efda0da5ce6f4c9984789f979dc02740Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
Ensure the runtime provides a crypto provider with native AES-GCM support (a standard Erlang/OTP build linked against OpenSSL) so that JOSE dispatches AES-GCM to the native crypto NIF instead of the jose_jwa_aes fallback.
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-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
CVE-2026-65632Medium· 5.1ECDSA signature length is not validated in jose, allowing signature malleability
CVE-2026-65631Medium· 6.9erlang-jose RSA JWK parsing attempts to factor an attacker-controlled modulus, enabling CPU-exhaustion denial of service
CVE-2026-65628Medium· 5.9Infinite recursion (CPU denial-of-service) in JOSE.JWK.shared_secret/2 on mismatched key types