CVE-2024-28102 json
JWCrypto vulnerable to JWT bomb Attack in `deserialize` function
published 2024-03-06 2 y ago modified 2026-09-10 1 mo ago also EUVD-2024-0946 , GHSA-j857-7rvv-vj97 , PYSEC-2026-1484
- cvss
- 6.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.0%
- EPSS 1.0% chance of exploitation in 30 days, percentile 62%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi jwcrypto 1.5.6
- latchset jwcrypto 1.5.6
- python-jwcrypto Debian 12 1.1.0-1+deb12u1
- python-jwcrypto Debian 14, Debian 13 1.5.6-1
debian advisories DEBIAN-CVE-2024-28102
- ipa RHEL 8 4.9.13-9.module+el8.10.0+21692+c9b201bc
- pyusb RHEL 8 1.0.0-9.1.module+el8.9.0+18920+2223d05e
- softhsm RHEL 8 2.6.0-5.module+el8.9.0+18911+94941f82
- custodia RHEL 8 0.6.0-3.module+el8.9.0+18911+94941f82
- slapi-nis RHEL 8 0.60.0-4.module+el8.10.0+20723+03062ebd
- ipa-client RHEL 8 4.9.13-9.module+el8.10.0+21692+c9b201bc
- ipa-common RHEL 8 4.9.13-9.module+el8.10.0+21692+c9b201bc
- ipa-server RHEL 8 4.9.13-9.module+el8.10.0+21691+df63127d
red hat advisories RHSA-2024:3267RHSA-2024:4522RHSA-2024:2559
- python-jwcrypto openSUSE Tumbleweed 1.6.0-1.1
opensuse advisories openSUSE-SU-2026:11712-1
- python3-jwcrypto AlmaLinux 9 0.8-5.el9_4
almalinux advisories ALSA-2024:2559
- ipa Rocky Linux 8 4.9.13-9.module+el8.10.0+1818+2dfda7a6
- pyusb Rocky Linux 8 1.0.0-9.1.module+el8.9.0+1371+ffa84eb9
- softhsm Rocky Linux 8 2.6.0-5.module+el8.9.0+1371+ffa84eb9
- custodia Rocky Linux 8 0.6.0-3.module+el8.9.0+1371+ffa84eb9
- slapi-nis Rocky Linux 8 0.60.0-4.module+el8.9.0+1573+39ab85f4
- opendnssec Rocky Linux 8 2.1.7-1.module+el8.9.0+1371+ffa84eb9
- python-qrcode Rocky Linux 8 5.1-12.module+el8.9.0+1371+ffa84eb9
- python-yubico Rocky Linux 8 1.3.2-9.1.module+el8.9.0+1371+ffa84eb9
rocky linux advisories RLSA-2024:3267RLSA-2024:2559
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2024-28102 updated cvss 6.8
python-jwcrypto: malicious JWE token can cause denial of service
-
Red Hat Enterprise Linux 7 python-jwcryptoaffected: workaround, no fix planned “Out of support scope”
-
Red Hat Ansible Automation Platform 2.4 for RHEL 8 automation-controller-venv-tower 4.5.8-1.el8ap Red Hat Ansible Automation Platform 2.4 for RHEL 9 automation-controller-venv-tower 4.5.8-1.el9apfixed: vendor fix RHSA-2024:4522
-
Red Hat Enterprise Linux AppStream (v. 8) ipa 4.9.13-9.module+el8.10.0+21691+df63127d, ipa 4.9.13-9.module+el8.10.0+21692+c9b201bc, pyusb 1.0.0-9.1.module+el8.9.0+18911+94941f82, pyusb 1.0.0-9.1.module+el8.9.0+18920+2223d05e, softhsm 2.6.0-5.module+el8.9.0+18911+94941f82, custodia 0.6.0-3.module+el8.9.0+18911+94941f82, +50 morefixed: vendor fix RHSA-2024:3267
-
Red Hat Enterprise Linux AppStream (v. 9) python-jwcrypto 0.8-5.el9_4, python3-jwcrypto 0.8-5.el9_4fixed: vendor fix RHSA-2024:2559
-
Red Hat Ansible Automation Platform 2.4 for RHEL 8 ansible-core 2.15.12-1.el8ap, ansible-test 2.15.12-1.el8ap, aap-metrics-utility 0.3.0-1.el8ap, automation-controller 4.5.8-1.el8ap, automation-controller-ui 4.5.8-1.el8ap, automation-controller-cli 4.5.8-1.el8ap, +1 more Red Hat Ansible Automation Platform 2.4 for RHEL 9 ansible-core 2.15.12-1.el9ap, ansible-test 2.15.12-1.el9ap, aap-metrics-utility 0.3.0-1.el9ap, automation-controller 4.5.8-1.el9ap, automation-controller-ui 4.5.8-1.el9ap, automation-controller-cli 4.5.8-1.el9ap, +1 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.98% chance of exploitation in the next 30 days, higher than 62% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/latchset/jwcrypto/security/advisories/GHSA-j857-7rvv-vj97 referenced PoC, tagged "exploit" by a source, unverified
- vicarius.io https://www.vicarius.io/vsociety/posts/denial-of-service-vulnerability-discovered-in-jwcrypto-cve-2024-28102-28103 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H |
| GitHub | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H |
| OSV | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | jwcrypto | <1.5.6 |
1.5.6 |
Affected products
- latchset jwcrypto
Classification
- Weakness
-
- CWE-770 Allocation of Resources Without Limits or Throttling
References
-
github.com
/latchset/jwcrypto/commit/90477a3b6e73da69740e00b8161f53fea19b831f
web, patch
-
github.com
/latchset/jwcrypto/security/advisories/GHSA-j857-7rvv-vj97
web, exploit, vendor-advisory
-
vicarius.io
/vsociety/posts/denial-of-service-vulnerability-discovered-in-jwcrypto-cve-2024-28102-28103
web, exploit, press/media-coverage, technical-description
-
lists.debian.org
/debian-lts-announce/2024/09/msg00026.html
web, mailing-list, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2024-28102
advisory
-
github.com
/latchset/jwcrypto
package
-
pypi.org
/project/jwcrypto
package
-
github.com
/advisories/GHSA-j857-7rvv-vj97
advisory
Sources
- CVE List CVE-2024-28102
- GitHub Advisory GHSA-j857-7rvv-vj97
- NVD CVE-2024-28102
- OSV PYSEC-2026-1484
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.