{"id":"CVE-2017-11424","aliases":["GHSA-r9jw-mwhq-wp62","PYSEC-2017-24"],"url":"https://o3.security/vulnerability/CVE-2017-11424","summary":"PyJWT vulnerable to key confusion attacks","details":"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.","published":"2017-08-24T16:29:00.197Z","modified":"2026-07-08T05:48:26.374916365Z","cvss":{"score":7.5,"severity":"HIGH","vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"},"epss":{"score":0.01804,"percentile":0.76855,"asOf":"2026-08-22"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"PyPI","name":"pyjwt","fixedVersion":"1.5.1"}],"fix":{"url":"https://github.com/jpadilla/pyjwt/pull/277","label":"jpadilla/pyjwt#277"},"references":[{"type":"ADVISORY","url":"http://www.debian.org/security/2017/dsa-3979"},{"type":"FIX","url":"https://github.com/jpadilla/pyjwt/pull/277"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-07-08T05:48:26.374916365Z"}}