pysec-2017-24
Vulnerability from pysec
Published
2017-08-24 16:29
Modified
2021-07-05 00:01
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.
Impacted products
Name | purl | pyjwt | pkg:pypi/pyjwt |
---|
Aliases
{ "affected": [ { "package": { "ecosystem": "PyPI", "name": "pyjwt", "purl": "pkg:pypi/pyjwt" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "1.5.1" } ], "type": "ECOSYSTEM" } ], "versions": [ "0.1.1", "0.1.2", "0.1.3", "0.1.4", "0.1.5", "0.1.6", "0.1.7", "0.1.8", "0.1.9", "0.2.0", "0.2.1", "0.2.3", "0.3.0", "0.3.1", "0.3.2", "0.4.0", "0.4.1", "0.4.2", "0.4.3", "1.0.0", "1.0.1", "1.1.0", "1.3.0", "1.4.0", "1.4.1", "1.4.2", "1.5.0" ] } ], "aliases": [ "CVE-2017-11424", "GHSA-r9jw-mwhq-wp62" ], "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.", "id": "PYSEC-2017-24", "modified": "2021-07-05T00:01:24.915848Z", "published": "2017-08-24T16:29:00Z", "references": [ { "type": "WEB", "url": "https://github.com/jpadilla/pyjwt/pull/277" }, { "type": "ADVISORY", "url": "http://www.debian.org/security/2017/dsa-3979" }, { "type": "ADVISORY", "url": "https://github.com/advisories/GHSA-r9jw-mwhq-wp62" } ] }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…