CVE-2017-11424

HIGH

PyJWT < 1.5.0 - Key Confusion Attack via PKCS1 PEM Public Key

Title source: llm
STIX 2.1

Description

In PyJWT 1.5.0 and below the `invalid_strings` check in `HMACAlgorithm.prepare_key` does not account for all PEM encoded public keys. Specifically, the PKCS1 PEM encoded format would be allowed because it is prefaced with the string `-----BEGIN RSA PUBLIC KEY-----` which is not accounted for. This enables symmetric/asymmetric key confusion attacks against users using the PKCS1 PEM encoded public keys, which would allow an attacker to craft JWTs from scratch.

References (2)

Core 2
Core References
Third Party Advisory vendor-advisory x_refsource_debian
http://www.debian.org/security/2017/dsa-3979
Issue Tracking, Patch, Third Party Advisory x_refsource_confirm
https://github.com/jpadilla/pyjwt/pull/277

Scores

CVSS v3 7.5
EPSS 0.0180
EPSS Percentile 76.3%
Attack Vector NETWORK
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

Details

Status published
Products (4)
debian/debian_linux 8.0
debian/debian_linux 9.0
pyjwt_project/pyjwt < 1.5.0
pypi/pyjwt 0 - 1.5.1PyPI
Published Aug 24, 2017
Tracked Since Feb 18, 2026