CVE-2026-39373
MediumCVSS 5.3Exploitation Probability (EPSS)
Low risk22th percentile - higher than 22% of all known CVEs
Summary
JWCrypto before 1.5.7 does not validate decompressed output size in JWE tokens with ZIP compression. An attacker can send a small token (under 250KB) that decompresses to about 100MB, causing server memory exhaustion.
Risk Assessment
An unauthenticated attacker can cause memory exhaustion on memory-constrained systems, leading to denial of service (DoS).
Recommendation
Update JWCrypto to version 1.5.7 or later.
Other vulnerabilities in JWCrypto
See all- CVE-2026-92091Medium
In the jwcrypto library, the JWK.import_key() function validates the key_ops JWK member for duplicate values using an algorithm with O(n^2) time complexity, and the length of key_ops is not bounded. A remote, unauthenticated attacker can supply a JWK with a large key_ops array to an application that passes attacker-controlled key material to a public key-import API (reachable via ECDH-ES key agreement, OIDC dynamic client registration, DPoP, or ACME account key registration, among others) to consume excessive CPU time, resulting in a denial of service.
- CVE-2026-84185Medium
In the jwcrypto library, used for implementing JOSE standards, there is a flaw where during verification of a General JSON Serialization JWS with a set of keys, the library fails to correctly identify the specific key ID (kid) and may accept a signature made by any valid key in the set. This can allow an attacker with a valid key to bypass authorization checks in applications that rely on the key ID to identify specific tenants or users.
- CVE-2026-80179Medium
A flaw was found in jwcrypto. A remote attacker can send a specially crafted JSON Web Encryption (JWE) token containing numerous period delimiters. This malformed token can force the JWE.deserialize() function to allocate excessive memory, leading to a MemoryError. This issue results in a denial of service (DoS) for services that process untrusted JWE values.
Original NVD description (English source)
JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography. Prior to 1.5.7, an unauthenticated attacker can exhaust server memory by sending crafted JWE tokens with ZIP compression. The existing patch for CVE-2024-28102 limits input token size to 250KB but does not validate the decompressed output size. An unauthenticated attacker can cause memory exhaustion on memory-constrained systems. A token under the 250KB input limit can decompress to approximately 100MB. This vulnerability is fixed in 1.5.7.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

