Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V2 - Validation and Business Logic Compression ratio limits
|
| Impact | The CVSS score of 5.3 with attack vector network, low complexity, no privileges required, and low availability impact reflects a moderate denial-of-service severity. The EPSS score and exploitation probability are not explicitly provided but the unauthenticated, network-accessible nature (AV:N/PR:N) and simple attack mechanism (AC:L) suggest practical exploitability. No KEV status is indicated, meaning this is not confirmed as actively exploited by CISA at the time of analysis. The real-world risk is particularly acute for memory-constrained environments (edge devices, containerized services, resource-limited deployments) where a single malicious JWE token can trigger complete service failure. However, the impact is limited to availability (A:L) with no confidentiality or integrity compromise, and the attack requires an application actively processing untrusted JWE tokens with compression enabled. This is a solid priority for services handling JWT/JWE from untrusted sources, especially in resource-limited contexts, but lower urgency than critical RCE or authentication bypass issues. |
| Exploit ScenarioDerived | An attacker crafts a JWE token with ZIP compression containing a highly-compressible payload (e.g., repetitive data) that is approximately 250KB or less in compressed form but decompresses to ~100MB. The attacker sends this token to a vulnerable JWCrypto application over the network without requiring authentication. When the application processes the JWE token, the library decompresses the payload without enforcing output size limits, causing rapid memory consumption that exhausts available RAM and crashes the service or degrades performance on memory-constrained systems. No public exploit code is explicitly referenced, but the attack is trivial to construct given the compression mechanics. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 07, 2026
Memory exhaustion in JWCrypto before 1.5.7 allows unauthenticated remote attackers to cause denial of service on memory-constrained systems by sending crafted JWE tokens with ZIP compression that decompress to approximately 100MB despite remaining under the 250KB input size limit. The vulnerability exploits incomplete validation in the upstream CVE-2024-28102 patch, which restricted input token size but failed to enforce decompressed output limits.
RemediationAI
Vendor-released patch: upgrade JWCrypto to version 1.5.7 or later, which implements proper decompression size validation to prevent memory exhaustion from compressed JWE tokens. Applications should ensure they are using the patched version and verify that JWE token processing includes strict decompression limits. Refer to the official advisory at https://github.com/latchset/jwcrypto/security/advisories/GHSA-fjrm-76x2-c4q4 for detailed remediation guidance. As a temporary workaround prior to patching, applications can disable ZIP compression in JWE processing if the use case permits, or implement external request size limits and resource monitoring to detect abnormal decompression behavior.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
JWCrypto is a Python library implementing JSON Web Token (JWT), JSON Web Key (JWK), JSON Web Signature (JWS), and JSON Web Encryption (JWE) specifications using the python-cryptography backend. The vulnerability exists in JWE processing when ZIP (DEFLATE) compression is enabled. The root cause is CWE-409 (Improper Handling of Highly Compressed Data), where the library validates the compressed input token size (250KB limit from CVE-2024-28102 remediation) but does not enforce a maximum decompressed size. An attacker can craft a highly-compressible payload that remains under 250KB when compressed but expands to ~100MB when decompressed, exhausting memory when the library processes the token without bounds-checking the decompression output.
Know when Jwcrypto gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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.
Blast Radius
ecosystem impact- 11 pypi packages depend on jwcrypto (8 direct, 3 indirect)
Ecosystem-wide dependent count for version 1.5.7.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography. Rated medium severity (CVSS 6.8), this v
CPU exhaustion denial of service in jwcrypto's JWK.import_key() allows a remote unauthenticated attacker to supply a cra
The _Rsa15 class in the RSA 1.5 algorithm implementation in jwa.py in jwcrypto before 0.3.2 lacks the Random Filling pro
Same technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Medium| Product | Status |
|---|---|
| SUSE Package Hub 15 SP6 | Fixed |
| openSUSE Leap 15.6 | Fixed |
| SUSE Linux Enterprise Server 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| SUSE Package Hub 15 SP6 | Fixed |
EUVD-2026-19911
GHSA-fjrm-76x2-c4q4
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB