CVE-2026-102268

CRITICAL CVSS 3.1: 9.1 EPSS 0.20%
Updated Oct 07, 2026
Python
Parameter Value
CVSS 9.1 (CRITICAL)
Affected Versions before 2.14.0
Fixed In 2.14.0
Type CWE-347 (Improper Verification of Cryptographic Signature)
Vendor Python
Public PoC No

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.

Attack Parameters

Attack Vector
Network
Can be exploited remotely
Attack Complexity
Low
Easy to exploit
Privileges Required
None
No privileges needed
User Interaction
None
No user interaction needed

Impact Assessment

Confidentiality
High
Complete data leak
Integrity
High
Complete data modification
Availability
None
No disruption

CVSS Vector v3.1

Vulnerable Products 1

Configuration From (including) Up to (excluding)
Pyjwt_Project Pyjwt
cpe:2.3:a:pyjwt_project:pyjwt:*:*:*:*:*:*:*:*
— 2.14.0