Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| jpadilla | pyjwt | < 2.14.0 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | pyjwt | 2.14.0-1 | — |
| Debian 13 | pyjwt | No fix yet | — |
| Debian 12 | pyjwt | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | pyjwt | 2.13.0-1ubuntu1.1 | USN-8934-1 |
| Ubuntu 26.04 LTS | pyjwt | 2.10.1-4ubuntu1.3 | USN-8934-1 |
| Ubuntu 24.04 LTS | pyjwt | 2.7.0-1ubuntu0.4 | USN-8934-1 |
| Ubuntu 22.04 LTS | pyjwt | 2.3.0-1ubuntu0.6 | USN-8934-1 |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 20.04 LTS | pyjwt | 1.7.1-2ubuntu2.1+esm4 | USN-8934-1 |
| Ubuntu Pro 18.04 LTS | pyjwt | 1.5.3+ds1-1ubuntu0.1+esm4 | USN-8934-1 |
| Ubuntu Pro 16.04 LTS | pyjwt | 1.3.0-1ubuntu0.1+esm4 | USN-8934-1 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP6 | python-PyJWT | 2.8.0-150400.8.20.1 | SUSE-SU-2026:5064-1 |
| SLES 15 SP5 | python-PyJWT | 2.8.0-150400.8.20.1 | SUSE-SU-2026:5064-1 |
| SLES 15 SP4 | python-PyJWT | 2.8.0-150400.8.20.1 | SUSE-SU-2026:5064-1 |
| SLES 3 | python-PyJWT | 2.8.0-150400.8.20.1 | SUSE-SU-2026:5064-1 |
Show 10 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | python-PyJWT | 2.12.1-160000.3.1 | SUSE-SU-2026:24219-1 |
| SLES for SAP 15 SP6 | python-PyJWT | 2.8.0-150400.8.20.1 | SUSE-SU-2026:5064-1 |
| SLES for SAP 15 SP5 | python-PyJWT | 2.8.0-150400.8.20.1 | SUSE-SU-2026:5064-1 |
| SLES for SAP 15 SP4 | python-PyJWT | 2.8.0-150400.8.20.1 | SUSE-SU-2026:5064-1 |
| SLES 16.0 | python-PyJWT | 2.12.1-160000.3.1 | SUSE-SU-2026:24219-1 |
| SLE Micro 6.2 | python-PyJWT | 2.12.1-160000.3.1 | SUSE-SU-2026:24126-1 |
| SLE Micro 6.1 | python-PyJWT | 2.12.1-slfo.1.1_3.1 | SUSE-SU-2026:24377-1 |
| SLE Micro 6.0 | python-PyJWT | 2.9.0-159998.1.1 | SUSE-SU-2026:24134-1 |
| SLE HPC 15 SP5 | python-PyJWT | 2.8.0-150400.8.20.1 | SUSE-SU-2026:5064-1 |
| SLE HPC 15 SP4 | python-PyJWT | 2.8.0-150400.8.20.1 | SUSE-SU-2026:5064-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | python-PyJWT | 2.15.1-1.1 | openSUSE-SU-2026:11994-1 |
| openSUSE Leap 16.0 | python-PyJWT | 2.12.1-160000.3.1 | openSUSE-SU-2026:22074-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | python3-jwt +1 | 2.4.0-1.amzn2023.0.6 | ALAS2023-2026-3298 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | python-jwt | 2.15.1-1 | — |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | datadog-agent-7.77-core-integrations | 7.77.3-r26 | — |
| Wolfi rolling | datadog-agent-7.78-core-integrations | No fix yet | — |
| Wolfi rolling | datadog-agent-7.79-core-integrations | 7.79.2-r20 | — |
| Wolfi rolling | datadog-agent-7.80-core-integrations | 7.80.4-r19 | — |
| Wolfi rolling | datadog-agent-7.81-core-integrations | 7.81.3-r8 | — |
| Wolfi rolling | ggshield | 1.55.0-r1 | — |
| Wolfi rolling | kserve-storage-controller | 0.21.0-r1 | — |
| Wolfi rolling | open-webui | 0.11.4-r1 | — |
| Wolfi rolling | py3-cassandra-medusa | 0.30.1-r1 | — |
| Wolfi rolling | semgrep | 1.178.0-r6 | — |
| Wolfi rolling | superset-6.0 | 6.0.0-r17 | — |
| Wolfi rolling | superset-6.1 | 6.1.0-r10 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | pyjwt | < 2.14.0 | 2.14.0 | GHSA-2gx3-rcp4-g85q |
Advisories 9
- SUSE-SU-2026:5064-1 Security update for python-PyJWT SUSE / openSUSE Security Updates · Nov 3, 2026
- SUSE-SU-2026:24377-1 Security update for python-PyJWT SUSE / openSUSE Security Updates · Oct 27, 2026
- USN-8934-1 pyjwt vulnerabilities Ubuntu Security Notices (USN) · Oct 27, 2026
- ALAS2023-2026-3298 Important: python-jwt security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Oct 26, 2026
- SUSE-SU-2026:24219-1 Security update for python-PyJWT SUSE / openSUSE Security Updates · Oct 21, 2026
- openSUSE-SU-2026:22074-1 Security update for python-PyJWT SUSE / openSUSE Security Updates · Oct 19, 2026
- SUSE-SU-2026:24134-1 Security update for python-PyJWT SUSE / openSUSE Security Updates · Oct 15, 2026
- SUSE-SU-2026:24126-1 Security update for python-PyJWT SUSE / openSUSE Security Updates · Oct 13, 2026
- openSUSE-SU-2026:11994-1 python313-PyJWT-2.15.1-1.1 on GA media SUSE / openSUSE Security Updates · Oct 5, 2026