p PatchFirst

PatchFirst · Latest vulnerabilities

web-token/jwt-framework vulnerabilities

Vulnerabilities published for web-token/jwt-framework in the last 30 days: 0. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Clear filters

Vulnerabilities: 2

  1. GHSA-jc38-x7x8-2xc8

    Critical · CVSS 9.1Fix available

    PHP JWT Framework: JWSVerifier uses algorithm from unprotected header, enabling algorithm confusion attacks

    ## Summary `JWSVerifier::getAlgorithm()` in `src/Library/Signature/JWSVerifier.php` (line 144) merges protected and unprotected headers using PHP's spread operator: ```php $completeHeader = [...$signature->getProtectedHeader(), ...$signature->getHeader()]; ``` In PHP, when spreading arrays with duplicate string keys, the **last array's values take precedence**. Since the unprotected header (`getHeader()`) is spread second, an attacker can override the integrity-protected `alg` parameter by placing a different value in the unprotected header. This creates a Time-of-Check/Time-of-Use (TOCTOU) vulnerability: 1. `HeaderCheckerManager` validat

    • Update to 3.4.10
    • Update to 4.0.7
    • Update to 4.1.7
    Published Updated
  2. GHSA-3prj-6hqw-cm82

    High · CVSS 8.7Fix available

    PHP JWT Library: PBES2-HS*+A*KW unwrap accepts an unbounded p2c iteration count, enabling CPU-amplification denial of service

    ### Impact When a JWE uses a password-based key-encryption algorithm (`PBES2-HS256+A128KW`, `PBES2-HS384+A192KW`, `PBES2-HS512+A256KW`), `PBES2AESKW::unwrapKey()` reads the `p2c` (PBKDF2 iteration count) parameter directly from the attacker-controlled JOSE header and passes it to `hash_pbkdf2()` with **no upper bound**. The only validation performed (`checkHeaderAdditionalParameters()`) was `is_int($p2c) && $p2c > 0`. An unauthenticated attacker can craft a single JWE whose protected header sets a very large `p2c` (e.g. `100_000_000` ≈ 87 s of CPU, or `PHP_INT_MAX`), forcing a worker to spend an arbitrary amount of CPU inside PBKDF2 **befor

    • Update to 3.4.10
    • Update to 4.0.7
    • Update to 4.1.7
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →