CVE-2017-11424

7.5 HIGH
Published: August 24, 2017 Modified: May 13, 2026
View on NVD

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.

AI Explanation

Get an AI-powered plain-language explanation of this vulnerability and remediation steps.

Login to generate AI explanation

CVSS v3.x Details

0.0 Low Medium High Critical 10.0
Vector String
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

References to Advisories, Solutions, and Tools

Patch Vendor Advisory Exploit Third Party Advisory
http://www.debian.org/security/2017/dsa-3979
Source: security@duo.com
Third Party Advisory
https://github.com/jpadilla/pyjwt/pull/277
Source: security@duo.com
Issue Tracking Patch Third Party Advisory
http://www.debian.org/security/2017/dsa-3979
Source: af854a3a-2127-422b-91ae-364da2661108
Third Party Advisory
https://github.com/jpadilla/pyjwt/pull/277
Source: af854a3a-2127-422b-91ae-364da2661108
Issue Tracking Patch Third Party Advisory

4 reference(s) from NVD

Quick Stats

CVSS v3 Score
7.5 / 10.0
EPSS (Exploit Probability)
1.8%
76th percentile
Exploitation Status
Not in CISA KEV

Affected Vendors

pyjwt_project debian