CVE-2024-31033 json
Withdrawn: JJWT improperly generates signing keys
published 2024-04-01 2 y ago modified 2026-09-10 1 mo ago also GHSA-r65j-6h5f-4f92 , EUVD-2024-1291
- cvss
- 6.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 56%
- public exploits
- 0
- none known
Summary
JJWT (aka Java JWT) through 0.12.5 ignores certain characters and thus a user might falsely conclude that they have a strong key. The impacted code is the setSigningKey() method within the DefaultJwtParser class and the signWith() method within the DefaultJwtBuilder class. NOTE: the vendor disputes this because the "ignores" behavior cannot occur (in any version) unless there is a user error in how JJWT is used, and because the version that was actually tested must have been more than six years out of date.
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.78% chance of exploitation in the next 30 days, higher than 56% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N |
| CNA | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N |
Affected products
- jwtk jjwt
References
-
github.com
/jwtk/jjwt
package
- viralpatel.net /java-create-validate-jwt-token/
-
github.com
/2308652512/JJWT_BUG
web
-
github.com
/jwtk/jjwt/issues/930#issuecomment-2032699358
web
-
nvd.nist.gov
/vuln/detail/CVE-2024-31033
advisory
-
github.com
/jwtk/jjwt/blob/26948610fbef81eba867cbaad54b516d1874c70a/impl/src/main/java/io/jsonwebtoken/impl/DefaultJwtPar
web
-
viralpatel.net
/java-create-validate-jwt-token
web
Sources
- CVE List CVE-2024-31033
- GitHub Advisory GHSA-r65j-6h5f-4f92
- NVD CVE-2024-31033
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.