Vulnerability 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.
CVSS Score
HIGH
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Pyjwt Project | Pyjwt | <= 1.5.0 |
| Debian | Debian Linux | 8.0 |
References
- http://www.debian.org/security/2017/dsa-3979Third Party Advisory
- https://github.com/jpadilla/pyjwt/pull/277Issue TrackingPatchThird Party Advisory
- http://www.debian.org/security/2017/dsa-3979Third Party Advisory
- https://github.com/jpadilla/pyjwt/pull/277Issue TrackingPatchThird Party Advisory
FAQ
What is CVE-2017-11424?
CVE-2017-11424 is a vulnerability with a CVSS score of 7.5 (HIGH). 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 becaus...
How severe is CVE-2017-11424?
CVE-2017-11424 has been rated HIGH with a CVSS base score of 7.5/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2017-11424?
Check the references section above for vendor advisories and patch information. Affected products include: Pyjwt Project Pyjwt, Debian Debian Linux.