Skip to content
Fencer Vulns
medium 4.3

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-rhel8
    affected: 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

References

Sources

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.