p PatchFirst

CVE-2026-101917

CVE-2026-101917 · PyJWT: PyJWKClient still amplifies unauthenticated JWKS fetches on unknown kid values (incomplete fix of CVE-2026-48524)

This page contains facts from public vulnerability sources. Check the original advisory before updating.

PyJWT is a Python implementation of JSON Web Token standards. Prior to 2.14.0, PyJWT get_signing_key_from_jwt is affected because unknown kid misses force refreshes without a negative cache or minimum refresh interval. This occurs when unauthenticated tokens repeatedly use the same unknown kid or varying kid values absent from the cached JWKS. As a result, each cache miss causes PyJWKClient to refresh the JWKS. Consequently, attacker traffic can amplify outbound requests to the configured JWKS endpoint. This issue is fixed in version 2.14.0.

CVSS 5.3 · Medium · EPSS 0.4% · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • pyjwt

    Versions
    • < 2.14.0: Affected

    No fix published

  • pyjwt Debian:12

    Versions
    • 2.10.1-1
    • 2.10.1-2
    • 2.10.1-3
    • 2.10.1-4
    • 2.11.0-2
    • 2.12.1-1
    • 2.13.0-1
    • 2.14.0-1
    • 2.15.0-1
    • 2.15.1-1
    • 2.6.0-1
    • 2.6.0-1+deb12u1
    • 2.7.0-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pyjwt Debian:13

    Versions
    • 2.10.1-2
    • 2.10.1-2+deb13u1
    • 2.10.1-3
    • 2.10.1-4
    • 2.11.0-2
    • 2.12.1-1
    • 2.13.0-1
    • 2.14.0-1
    • 2.15.0-1
    • 2.15.1-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pyjwt Debian:14

    Versions
    • 2.10.1-2
    • 2.10.1-3
    • 2.10.1-4
    • 2.11.0-2
    • 2.12.1-1
    • 2.13.0-1
    Affected ranges
    • ECOSYSTEM: < 2.14.0-1

    Update to 2.14.0-1

  • pyjwt PyPI

    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
    • 1.5.1
    • 1.5.2
    • 1.5.3
    • 1.6.0
    • 1.6.1
    • 1.6.3
    • 1.6.4
    • 1.7.0
    • 1.7.1
    • 2.0.0
    • 2.0.0a1
    • 2.0.0a2
    • 2.0.1
    • 2.1.0
    • 2.10.0
    • 2.10.1
    • 2.11.0
    • 2.12.0
    • 2.12.1
    • 2.13.0
    • 2.2.0
    • 2.3.0
    • 2.4.0
    • 2.5.0
    • 2.6.0
    • 2.7.0
    • 2.8.0
    • 2.9.0
    Affected ranges
    • ECOSYSTEM: < 2.14.0

    Update to 2.14.0

  • pyjwt Ubuntu:22.04:LTS

    Versions
    • 1.7.1-2ubuntu2
    • 2.1.0-1
    • 2.3.0-1
    • 2.3.0-1ubuntu0.1
    • 2.3.0-1ubuntu0.2
    • 2.3.0-1ubuntu0.3
    • 2.3.0-1ubuntu0.4
    • 2.3.0-1ubuntu0.5
    • 2.3.0-1ubuntu0.6
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pyjwt Ubuntu:24.04:LTS

    Versions
    • 2.7.0-1
    • 2.7.0-1ubuntu0.1
    • 2.7.0-1ubuntu0.2
    • 2.7.0-1ubuntu0.3
    • 2.7.0-1ubuntu0.4
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pyjwt Ubuntu:26.10

    Versions
    • 2.10.1-4ubuntu1
    • 2.12.1-1
    • 2.13.0-1
    • 2.13.0-1ubuntu1
    • 2.13.0-1ubuntu1.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pyjwt Ubuntu:26.04:LTS

    Versions
    • 2.10.1-2
    • 2.10.1-3
    • 2.10.1-3build1
    • 2.10.1-4
    • 2.10.1-4ubuntu1
    • 2.10.1-4ubuntu1.1
    • 2.10.1-4ubuntu1.2
    • 2.10.1-4ubuntu1.3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →