PY
Product
pyjwt
20
CVEs
0
On KEV
9.1
Max CVSS
14
New 30D
Severity mix
Critical 3High 9Medium 7Low 1
Watch
Add pyjwt to your stack to get only the CVEs that touch what you run.
| CVE | CVSS | Published | Summary · affected versions |
|---|---|---|---|
| CVE-2026-102268 | 9.1 | Sep 28 | PyJWT: Asymmetric-PEM detection bypass: whitespace/line-ending-mutated public keys skip the HS/asymmetric confusion guard Affected: < 2.14.0 |
| CVE-2026-102267 | 9.1 | Sep 28 | PyJWT: PyJWKClient follows redirects when fetching JWKS Affected: < 2.14.0 |
| CVE-2026-102266 | 9.1 | Sep 28 | PyJWK accepts empty HMAC keys, bypassing PyJWT's empty-key validation Affected: >= 2.13.0, < 2.14.0 |
| CVE-2026-102275 | 8.2 | Sep 28 | PyJWT accepts inconsistent OKP x/d JWKs, causing public/private key identity confusion Affected: >= 2.1.0, < 2.15.0 |
| CVE-2026-102274 | 7.5 | Sep 28 | PyJWT: Malformed RSA JWK aborts parsing of an entire JWK Set Affected: >= 2.9.0, < 2.14.0 |
| CVE-2026-101918 | 7.5 | Sep 28 | PyJWT: Unauthenticated RecursionError DoS in pre-verification payload parse (PyJWKClient.get_signing_key_from_jwt / verify_signature=False) Affected: >= 2.0.0a1, < 2.15.0 |
| CVE-2026-101917 | 7.5 | Sep 28 | PyJWT: PyJWKClient still amplifies unauthenticated JWKS fetches on unknown kid values (incomplete fix of CVE-2026-48524) Affected: < 2.14.0 |
| CVE-2026-32597 | 7.5 | Mar 12 | PyJWT accepts unknown `crit` header extensions (RFC 7515 §4.1.11 MUST violation) Affected: < 2.12.0 |
| CVE-2026-102273 | 7.4 | Sep 28 | PyJWT accepts public JWK containers as HMAC secrets Affected: >= 2.13.0, < 2.14.0 |
| CVE-2026-102272 | 7.4 | Sep 28 | PyJWT BOM Bypass Affected: >= 2.13.0, < 2.14.0 |
| CVE-2026-102271 | 7.4 | Sep 28 | PyJWT: Public keys in DER form are accepted as HMAC secrets, bypassing the CVE-2022-29217 guard Affected: >= 2.4.0, < 2.14.0 |
| CVE-2026-48526 | 7.4 | May 28 | PyJWT: Public-key JWK accepted as HMAC secret enables forged HS256 tokens when mixed families are allowed Affected: < 2.13.0 |
| CVE-2026-103001 | 6.5 | Sep 30 | PyJWT.decode() reintroduces options-dict mutation, enabling silent claim-verification bypass on dict reuse Affected: >= 2.11.0, <= 2.13.0 |
| CVE-2026-102269 | 5.4 | Sep 28 | PyJWT: Non-canonical signature segments enable raw-token revocation bypass Affected: < 2.14.0 |
| CVE-2026-48523 | 5.4 | May 28 | PyJWT: Algorithm allow-list bypass when decoding with `PyJWK` / `PyJWKClient` keys Affected: >= 2.9.0, < 2.13.0 |
| CVE-2026-102265 | 5.3 | Sep 28 | PyJWT: Uncaught RecursionError in jwt.decode() on deeply nested token header Affected: >= 2.13.0, < 2.14.0 |
| CVE-2026-48525 | 5.3 | May 28 | PyJWT: Unauthenticated DoS via unbounded Base64URL decoding of unused payload segment in b64=false detached JWS Affected: >= 2.8.0, < 2.13.0 |
| CVE-2026-102270 | 4.9 | Sep 28 | PyJWT: ReDoS vulnerability when calling the `is_pem_format` function. Affected: < 2.14.0 |
| CVE-2026-48522 | 4.2 | May 28 | PyJWKClient: missing scheme allowlist enables SSRF + token forgery via file://, ftp://, data: schemes Affected: < 2.13.0 |
| CVE-2026-48524 | 3.7 | May 28 | PyJWT: PyJWKClient unbounded JWKS endpoint requests via attacker-controlled kid values (DoS) Affected: < 2.13.0 |
Showing 20
