CVE-2024-21664 json
Parsing JSON serialized payload without protected field can lead to segfault
published 2024-01-09 2 y ago modified 2026-09-10 1 mo ago also EUVD-2024-0395 , GHSA-pvcr-v8j8-j5q3 , GO-2024-2454
- cvss
- 4.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.9%
- EPSS 0.9% chance of exploitation in 30 days, percentile 58%
- public exploits
- 0
- none known
Summary
jwx is a Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies. Calling `jws.Parse` with a JSON serialized payload where the `signature` field is present while `protected` is absent can lead to a nil pointer dereference. The vulnerability can be used to crash/DOS a system doing JWS verification. This vulnerability has been patched in versions 2.0.19 and 1.2.28.
Patch / fix
- go github.com/lestrrat-go/jwx 1.2.28
- go github.com/lestrrat-go/jwx/v2 2.0.19
- lestrrat-go jwx 1.2.28, 2.0.19
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-21664 updated cvss 7.5
jwx: parsing JSON serialized payload without protected field can lead to panic
-
Red Hat OpenShift Service Mesh 2 openshift-service-mesh/istio-cni-rhel8affected: no fix planned “Will not fix”
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.86% chance of exploitation in the next 30 days, higher than 58% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/lestrrat-go/jwx/security/advisories/GHSA-pvcr-v8j8-j5q3 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L |
| GitHub | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/lestrrat-go/jwx | >=1.0.8, <1.2.28 |
1.2.28 |
| go | github.com/lestrrat-go/jwx/v2 | <2.0.19 |
2.0.19 |
Affected products
- lestrrat-go jwx
Classification
- Weakness
-
- CWE-476 NULL Pointer Dereference
References
-
github.com
/lestrrat-go/jwx/commit/0e8802ce6842625845d651456493e7c87625601f
web, patch
-
github.com
/lestrrat-go/jwx/commit/8c53d0ae52d5ab1e2b37c5abb67def9e7958fd65
web
-
github.com
/lestrrat-go/jwx/commit/d69a721931a5c48b9850a42404f18e143704adcd
web, patch
-
github.com
/lestrrat-go/jwx/security/advisories/GHSA-pvcr-v8j8-j5q3
web, exploit, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2024-21664
advisory
-
github.com
/lestrrat-go/jwx
package
Sources
- CVE List CVE-2024-21664
- GitHub Advisory GHSA-pvcr-v8j8-j5q3
- NVD CVE-2024-21664
- OSV GO-2024-2454
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: Adjust affected version ranges to account for v1.x fixes which upstream NVD entry is missing.