SECURELYN

CVE-2026-102268

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.

Scores

9.1
CVSS 9.1 out of 10, critical severity.
0.2%
EPSS 0.2% chance of exploitation in the next 30 days.

The facts

Published
28 September 2026
Last changed
7 October 2026
NVD status
Analyzed
Severity
Critical, CVSS 9.1 out of 10 (version 3.1)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Weakness
Affects
  • pyjwt project pyjwt
Known exploited
Not in the CISA Known Exploited Vulnerabilities catalogue in this build.
EPSS
0.2% chance of exploitation activity in the next 30 days (percentile 9).

Is there a Securelyn advisory?

Not yet. Securelyn writes plain-English advisories for the flaws that matter most to businesses. Subscribe to the digest to hear about them.

References