CVE-2024-28102
published 2024-03-21CVE-2024-28102: JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography. Prior to version 1.5.6, an attacker can cause a denial of service attack by…
PriorityP430medium6.8CVSS 3.1
AVNACLPRHUINSCCNINAH
EPSS
0.98%
58.3th percentile
JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography. Prior to version 1.5.6, an attacker can cause a denial of service attack by passing in a malicious JWE Token with a high compression ratio. When the server processes this token, it will consume a lot of memory and processing time. Version 1.5.6 fixes this vulnerability by limiting the maximum token length.
Affected
7 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | debian_linux | — | — |
| debian | python-jwcrypto | < python-jwcrypto 1.1.0-1+deb12u1 (bookworm) | python-jwcrypto 1.1.0-1+deb12u1 (bookworm) |
| debian | python-jwcrypto | — | — |
| latchset | jwcrypto | < 1.5.7 | 1.5.7 |
| latchset | jwcrypto | < 1.5.6 | 1.5.6 |
| latchset | jwcrypto | < 1.5.7 | 1.5.7 |
| latchset | jwcrypto | >= 0 < 1.5.6 | 1.5.6 |
CVSS provenance
nvdv3.16.8MEDIUMCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H
osv6.8MEDIUM
vendor_debian6.8MEDIUM
vendor_redhat6.8MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
CVE-2026-39373: JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography
osv·2026-04-07·CVSS 6.8
CVE-2026-39373 [MEDIUM] CVE-2026-39373: JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography
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.
OSV
CVE-2024-28102: JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography
osv·2024-03-21·CVSS 6.8
CVE-2024-28102 [MEDIUM] CVE-2024-28102: JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography
JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography. Prior to version 1.5.6, an attacker can cause a denial of service attack by passing in a malicious JWE Token with a high compression ratio. When the server processes this token, it will consume a lot of memory and processing time. Version 1.5.6 fixes this vulnerability by limiting the maximum token length.
OSV
JWCrypto vulnerable to JWT bomb Attack in `deserialize` function
osv·2024-03-06
CVE-2024-28102 [MEDIUM] JWCrypto vulnerable to JWT bomb Attack in `deserialize` function
JWCrypto vulnerable to JWT bomb Attack in `deserialize` function
## Affected version
Vendor: https://github.com/latchset/jwcrypto
Version: 1.5.5
## Description
An attacker can cause a DoS attack by passing in a malicious JWE Token with a high compression ratio.
When the server processes this Token, it will consume a lot of memory and processing time.
## Poc
```python
from jwcrypto import jwk, jwe
from jwcrypto.common import json_encode, json_decode
import time
public_key = jwk.JWK()
private_key = jwk.JWK.generate(kty='RSA', size=2048)
public_key.import_key(**json_decode(private_key.export_public()))
payload = '{"u": "' + "u" * 400000000 + '", "uu":"' + "u" * 400000000 + '"}'
protected_header = {
"alg": "RSA-OAEP-256",
"enc": "A256CBC-HS512",
"typ": "JWE",
"zip": "DEF",
"kid": public_k
GHSA
JWCrypto vulnerable to JWT bomb Attack in `deserialize` function
ghsa·2024-03-06
CVE-2024-28102 [MEDIUM] CWE-770 JWCrypto vulnerable to JWT bomb Attack in `deserialize` function
JWCrypto vulnerable to JWT bomb Attack in `deserialize` function
## Affected version
Vendor: https://github.com/latchset/jwcrypto
Version: 1.5.5
## Description
An attacker can cause a DoS attack by passing in a malicious JWE Token with a high compression ratio.
When the server processes this Token, it will consume a lot of memory and processing time.
## Poc
```python
from jwcrypto import jwk, jwe
from jwcrypto.common import json_encode, json_decode
import time
public_key = jwk.JWK()
private_key = jwk.JWK.generate(kty='RSA', size=2048)
public_key.import_key(**json_decode(private_key.export_public()))
payload = '{"u": "' + "u" * 400000000 + '", "uu":"' + "u" * 400000000 + '"}'
protected_header = {
"alg": "RSA-OAEP-256",
"enc": "A256CBC-HS512",
"typ": "JWE",
"zip": "DEF",
"kid": public_k
Debian
CVE-2026-39373: python-jwcrypto - JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography. ...
vendor_debian·2026·CVSS 6.8
CVE-2026-39373 [MEDIUM] CVE-2026-39373: python-jwcrypto - JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography. ...
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.
Scope: local
bookworm: open
bullseye: open
forky: open
sid: open
trixie: open
Red Hat
python-jwcrypto: malicious JWE token can cause denial of service
vendor_redhat·2024-03-08·CVSS 6.8
CVE-2024-28102 [MEDIUM] CWE-400 python-jwcrypto: malicious JWE token can cause denial of service
python-jwcrypto: malicious JWE token can cause denial of service
JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography. Prior to version 1.5.6, an attacker can cause a denial of service attack by passing in a malicious JWE Token with a high compression ratio. When the server processes this token, it will consume a lot of memory and processing time. Version 1.5.6 fixes this vulnerability by limiting the maximum token length.
An uncontrolled resource consumption vulnerability was found in python-jwcrypto. If a malicious JWE token with a high compression ratio is passed to the server, the server will consume a lot of memory and processing time, leading to a denial of service.
Statement: The CVE-2024-28102 vulnerability in JWCrypto represents a moderate severity iss
Debian
CVE-2024-28102: python-jwcrypto - JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography. ...
vendor_debian·2024·CVSS 6.8
CVE-2024-28102 [MEDIUM] CVE-2024-28102: python-jwcrypto - JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography. ...
JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography. Prior to version 1.5.6, an attacker can cause a denial of service attack by passing in a malicious JWE Token with a high compression ratio. When the server processes this token, it will consume a lot of memory and processing time. Version 1.5.6 fixes this vulnerability by limiting the maximum token length.
Scope: local
bookworm: resolved (fixed in 1.1.0-1+deb12u1)
bullseye: resolved (fixed in 0.8.0-1+deb11u1)
forky: resolved (fixed in 1.5.6-1)
sid: resolved (fixed in 1.5.6-1)
trixie: resolved (fixed in 1.5.6-1)
No detection rules found.
No public exploits indexed.
Wiz
CVE-2026-39373 Impact, Exploitability, and Mitigation Steps | Wiz
blogs_wiz·CVSS 6.8
CVE-2026-39373 [MEDIUM] CVE-2026-39373 Impact, Exploitability, and Mitigation Steps | Wiz
## CVE-2026-39373 :
Python vulnerability analysis and mitigation
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.
Source : NVD
## 5.3
Score
Published April 7, 2026
Severity MEDIUM
CNA Score 5.3
Affected Technologies
Python
Linux Debian
Has Public Exploit No
Has CISA KEV Exploit No
CISA KEV Release Date N/A
Bugzilla
CVE-2026-39373 JWCrypto: python-cryptography: python: JWCrypto: Memory exhaustion via crafted compressed JWE tokens
bugzilla·2026-04-07·CVSS 6.8
CVE-2026-39373 [MEDIUM] CVE-2026-39373 JWCrypto: python-cryptography: python: JWCrypto: Memory exhaustion via crafted compressed JWE tokens
CVE-2026-39373 JWCrypto: python-cryptography: python: JWCrypto: Memory exhaustion via crafted compressed JWE tokens
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.
Discussion:
The severity of this bug is wrong, it should be low.
No attacker can cause unlimited memory exhaustion, the bug only highlighted that the amoun
Bugzilla
CVE-2024-28102 python-jwcrypto: malicious JWE token can cause denial of service
bugzilla·2024-03-10·CVSS 6.8
CVE-2024-28102 [MEDIUM] CVE-2024-28102 python-jwcrypto: malicious JWE token can cause denial of service
CVE-2024-28102 python-jwcrypto: malicious JWE token can cause denial of service
JWCrypto implements JWK, JWS, and JWE specifications using python-cryptography. Prior to version 1.5.6, an attacker can cause a denial of service attack by passing in a malicious JWE Token with a high compression ratio. When the server processes this token, it will consume a lot of memory and processing time. Version 1.5.6 fixes this vulnerability by limiting the maximum token length.
Discussion:
Created python-jwcrypto tracking bugs for this issue:
Affects: fedora-all [bug 2268759]
---
This issue has been addressed in the following products:
Red Hat Enterprise Linux 9
Via RHSA-2024:2559 https://access.redhat.com/errata/RHSA-2024:2559
---
This issue has been addressed in the following products:
Red H
https://github.com/latchset/jwcrypto/commit/90477a3b6e73da69740e00b8161f53fea19b831fhttps://github.com/latchset/jwcrypto/security/advisories/GHSA-j857-7rvv-vj97https://github.com/latchset/jwcrypto/commit/90477a3b6e73da69740e00b8161f53fea19b831fhttps://github.com/latchset/jwcrypto/security/advisories/GHSA-j857-7rvv-vj97https://lists.debian.org/debian-lts-announce/2024/09/msg00026.htmlhttps://www.vicarius.io/vsociety/posts/denial-of-service-vulnerability-discovered-in-jwcrypto-cve-2024-28102-28103
2024-03-21
Published