Skip to main content
← All vulnerabilities
CVE-2023-49290GO-2023-2379GHSA-7F9X-GW85-8GRF

Malicious parameters can cause a denial of service in lestrrat-go/jwx

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.2.27, 2.0.18
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • lestrrat-go jwx

    fixed in 1.2.27; From 2.0.0 · fixed in 2.0.18

  • github.com/lestrrat-go/jwxGo

    fixed in 1.2.27

  • github.com/lestrrat-go/jwx/v2Go

    fixed in 2.0.18

References 2

GitHub · lestrrat-go/jwx