{"id":"CVE-2017-11424","state":"PUBLISHED","title":"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 wou","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.","publishedAt":"2017-08-24T16:00:00.000Z","updatedAt":"2024-08-05T18:12:39.550Z","severity":null,"assigner":"duo","products":["n/a n/a"],"affected":[{"vendor":"n/a","product":"n/a","versions":[{"version":"n/a","status":"affected"}]}],"references":["http://www.debian.org/security/2017/dsa-3979","https://github.com/jpadilla/pyjwt/pull/277"],"weaknesses":[],"ingestedAt":"2026-10-29T19:43:12.617Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2017/11xxx/CVE-2017-11424.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2017-11424","state":"PUBLISHED","datePublished":"2017-08-24T16:00:00.000Z","dateUpdated":"2024-08-05T18:12:39.550Z","assignerShortName":"duo","assignerOrgId":"7cd4c57f-0a88-4dda-be53-70336b413766","dateReserved":"2017-07-18T00:00:00.000Z"},"containers":{"cna":{"descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"n/a","product":"n/a","versions":[{"version":"n/a","status":"affected"}]}],"references":[{"url":"http://www.debian.org/security/2017/dsa-3979","name":"DSA-3979","tags":["vendor-advisory","x_refsource_DEBIAN"]},{"url":"https://github.com/jpadilla/pyjwt/pull/277","tags":["x_refsource_CONFIRM"]}],"problemTypes":[{"descriptions":[{"description":"n/a","lang":"en","type":"text"}]}],"providerMetadata":{"shortName":"duo","dateUpdated":"2017-11-03T18:57:01.000Z","orgId":"7cd4c57f-0a88-4dda-be53-70336b413766"},"datePublic":"2017-06-22T00:00:00.000Z","x_legacyV4Record":{"CVE_data_meta":{"ASSIGNER":"security@duo.com","ID":"CVE-2017-11424","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"n/a","version":{"version_data":[{"version_value":"n/a"}]}}]},"vendor_name":"n/a"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"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."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"n/a"}]}]},"references":{"reference_data":[{"name":"DSA-3979","refsource":"DEBIAN","url":"http://www.debian.org/security/2017/dsa-3979"},{"name":"https://github.com/jpadilla/pyjwt/pull/277","refsource":"CONFIRM","url":"https://github.com/jpadilla/pyjwt/pull/277"}]}}},"adp":[{"title":"CVE Program Container","references":[{"url":"http://www.debian.org/security/2017/dsa-3979","name":"DSA-3979","tags":["vendor-advisory","x_refsource_DEBIAN","x_transferred"]},{"url":"https://github.com/jpadilla/pyjwt/pull/277","tags":["x_refsource_CONFIRM","x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-05T18:12:39.550Z"}}]}}}