What’s Vulnerable › Vulnerabilities
CVE-2023-49290: Malicious parameters can cause a denial of service in lestrrat-go/jwx
- Severity: medium (CVSS 5.3 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.7% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2023-12-05 · updated 2026-06-17
- Weakness: CWE-400
Description
lestrrat-go/jwx is a Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies. A p2c parameter set too high in JWE's algorithm PBES2-* could lead to a denial of service. The JWE key management algorithms based on PBKDF2 require a JOSE Header Parameter called p2c (PBES2 Count). This parameter dictates the number of PBKDF2 iterations needed to derive a CEK wrapping key. Its primary purpose is to intentionally slow down the key derivation function, making password brute-force and dictionary attacks more resource- intensive. Therefore, if an attacker sets the p2c parameter in JWE to a very large number, it can cause a lot of computational consumption, resulting in a denial of service. This vulnerability has been addressed in commit `64f2a229b` which has been included in release version 1.2.27 and 2.0.18. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Affected products
- lestrrat-go jwx: before 1.2.27; from 2.0.0 before 2.0.18 — fixed in 1.2.27, 2.0.18
How to fix
Upgrade to a fixed version: lestrrat-go jwx 1.2.27, 2.0.18. Check the vendor advisory for mitigations.
References
- https://github.com/lestrrat-go/jwx/commit/64f2a229b8e18605f47361d292b526bdc4aee01c
- https://github.com/lestrrat-go/jwx/security/advisories/GHSA-7f9x-gw85-8grf
- https://github.com/lestrrat-go/jwx/commit/64f2a229b8e18605f47361d292b526bdc4aee01c
- https://github.com/lestrrat-go/jwx/security/advisories/GHSA-7f9x-gw85-8grf
Get alerted when CVE-2023-49290 or the next vulnerability affects your stack