CyberRota Analysis
AI-GeneratedThe vulnerability affects the PyJWT library prior to version 2.14.0, specifically in the is_pem_format function, which fails to properly validate certain PEM representations of public keys. This flaw allows an attacker to exploit the library by supplying a malformed public key, leading to the potential forgery of authenticated HMAC tokens. Organizations using affected versions of PyJWT, particularly those implementing HMAC and asymmetric algorithms together, should prioritize upgrading to version 2.14.0 to mitigate this critical risk.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
PyJWT is a Python implementation of JSON Web Token standards. Prior to 2.14.0, is_pem_format in jwt/utils.py is affected because is_pem_format does not recognize every PEM representation accepted by the cryptography loader. This occurs when an application mixes HMAC and asymmetric algorithms and supplies a mutated public-key PEM as raw key bytes. As a result, HMACAlgorithm.prepare_key treats the unrecognized asymmetric public key as an HMAC secret. Consequently, an attacker who knows the public key can forge authenticated HMAC tokens. This issue is fixed in version 2.14.0.