Impact
A resource exhaustion vulnerability exists in the Python library joserfc, which implements JSON Object Signing and Encryption standards. When decrypting a JWE token that uses Password-Based Encryption (PBES2) algorithms, the library reads the PBES2 Count (p2c) value directly from the token’s protected header without validating or bounding it. Because this count defines the number of PBKDF2 iterations, an attacker can supply an astronomically large iteration count, such as 2^31‑1, thereby forcing the server to perform intensive CPU work for a single token, resulting in a denial of service.
Affected Systems
The affected product is joserfc from authlib, version 1.6.2 and all earlier releases. Any deployment that processes JWE or JWT tokens with PBES2 algorithms and relies on this library is susceptible, especially applications that allow such algorithms without stricter policy enforcement.
Risk and Exploitability
The CVSS score of 7.5 indicates a high impact, while the EPSS score of less than 1% suggests a very low probability of widespread exploitation as of the current data. The vulnerability is not presently listed in CISA’s KEV catalog. The most likely attack vector is an unauthenticated malicious actor crafting a specially formed JWE token containing a large PBES2 Count value and sending it to the target application; the server then expends disproportionate CPU resources during decryption. Because no privileged state or remote code execution is required, the attack’s success depends on the application’s allowance of PBES2 algorithms and the absence of input validation on the p2c field.
OpenCVE Enrichment
Github GHSA