Malicious parameters can cause a denial of service in lestrrat-go/jwx
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · Low
- Fix status
- Partial Red Hat: 1 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-400.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| lestrrat-go | jwx | before 1.2.27; 2.0.0 to before 2.0.18 | 1.2.27, 2.0.18 | Patch available | CNA |
| — | github.com/lestrrat-go/jwx (Go) | before 1.2.27 | 1.2.27 | Patch available | GHSA-7f9x-gw85-8grf |
| — | github.com/lestrrat-go/jwx/v2 (Go) | before 2.0.18 | 2.0.18 | Patch available | GHSA-7f9x-gw85-8grf |
- jwx Vendorlestrrat-go Affected before 1.2.27; 2.0.0 to before 2.0.18 Fixed in 1.2.27, 2.0.18 Patch available CNA
- github.com/lestrrat-go/jwx (Go) Vendor— Affected before 1.2.27 Fixed in 1.2.27 Patch available GHSA-7f9x-gw85-8grf
- github.com/lestrrat-go/jwx/v2 (Go) Vendor— Affected before 2.0.18 Fixed in 2.0.18 Patch available GHSA-7f9x-gw85-8grf
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:lestrrat-go:jwx:*:*:*:*:*:*:*:* | before 1.2.27; 2.0.0 to before 2.0.18 | Vulnerable | lestrrat-go |
- cpe:2.3:a:lestrrat-go:jwx:*:*:*:*:*:*:*:* Versions before 1.2.27; 2.0.0 to before 2.0.18 Vulnerable ·lestrrat-go
Remediation
- Fix · CNA jwx (lestrrat-go) Fixed in 1.2.27, 2.0.18
- Fix · GHSA-7f9x-gw85-8grf github.com/lestrrat-go/jwx (Go) Fixed in 1.2.27 Advisory →
- Fix · GHSA-7f9x-gw85-8grf github.com/lestrrat-go/jwx/v2 (Go) Fixed in 2.0.18 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| OpenShift Service Mesh 2 | Affected | No fix planned: Will not fix |
Not affected: 1 product
- Red Hat Openshift Data Foundation 4
Timeline
- 2026-10-02 Threatist record created from CVE-2023-49290
- 2026-10-03 Alias added: GHSA-7f9x-gw85-8grf
References
More lestrrat-go Jwx vulnerabilities
- TI-2024-14385 Parsing JSON serialized payload without protected field can lead to segfault CVSS 3.1HIGH 7.5
- TI-2024-18702 JWX vulnerable to a denial of service attack using compressed JWE message CVSS 3.1MEDIUM 6.8
Sources
- CVE-2023-49290 · CVE Program
- CVE-2023-49290 · NVD
- FIRST EPSS
- GHSA-7f9x-gw85-8grf · GitHub Advisory Database · CC BY 4.0
- CVE-2023-49290 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences