Decompression bomb via unbounded zlib:inflate in jose_jwe_zip:uncompress/2
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Improper Handling of Highly Compressed Data (Data Amplification) vulnerability in potatosalad jose (erlang-jose) allows a remote attacker to exhaust a node's memory with a small crafted JWE token.
The jose_jwe_zip:uncompress/2 function in src/jwe/jose_jwe_zip.erl decompresses the DEFLATE-compressed plaintext of a JWE that carries the optional zip: DEF header by calling zlib:inflate/2 on the entire attacker-controlled stream, with no bound on the output size or the inflation ratio. Raw DEFLATE reaches ratios around 1000:1 on highly repetitive input, so a few-kilobyte token inflates to hundreds of megabytes or gigabytes in a single call.
Decompression runs automatically during decryption through jose_jwe:block_decrypt/2 (JOSE.JWE.block_decrypt/2 in Elixir), before the recipient can inspect or reject the payload. With the common asymmetric key-management algorithms (RSA-OAEP, ECDH-ES) an attacker needs only the recipient's public key to craft such a token, so no authentication or secret material is required. A single small token can exhaust the node's memory and crash the BEAM, denying service to all users.
This issue affects jose: from 1.0.0 before 1.11.13.
Text from CVE List
Affected versions 2
- joseaffected: 1.0.0 before 1.11.13CVE List
- joseaffected: a7746ecd4950f85a393136e449a91dac62b5c429 before 857eb8e7f2d33e2c9ca2189e77226561cacaf2adCVE List
References 5
- github.com/potatosalad/erlang-jose/commit/a7746ecd4950f85a393136e449a91dac62b5c429Fixvia CVE List
- github.com/potatosalad/erlang-jose/commit/857eb8e7f2d33e2c9ca2189e77226561cacaf2adFixvia CVE List
- github.com/potatosalad/erlang-jose/security/advisories/GHSA-wfpv-qxp8-x5gmAdvisoryvia CVE List
- cna.erlef.org/cves/CVE-2026-65627.htmlReferencevia CVE List
- osv.dev/vulnerability/EEF-CVE-2026-65627Referencevia CVE List