GHSA-r9jw-mwhq-wp62
PyJWT vulnerable to key confusion attacks
At a glance
- Published
- Updated
- CVE
- CVE-2017-11424
- Aliases
- PYSEC-2017-24
- CVSS_V3
- CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
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.
Affected packages
| Package | Versions |
|---|---|
| PyPI · pyjwt | introduced 0, fixed 1.5.1 |
References
- https://nvd.nist.gov/vuln/detail/CVE-2017-11424 ADVISORY
- https://github.com/jpadilla/pyjwt/pull/277 WEB
- https://github.com/jpadilla/pyjwt PACKAGE
- https://github.com/pypa/advisory-database/tree/main/vulns/pyjwt/PYSEC-2017-24.yaml WEB
- http://www.debian.org/security/2017/dsa-3979 WEB
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — GitHub Advisory Database |