Every CVE Search/ Get API key

CVE-2026-48524

PyJWT: PyJWKClient unbounded JWKS endpoint requests via attacker-controlled kid values (DoS)

3.7 LowFix available

PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, PyJWKClient.get_signing_key() forces a fresh HTTP request to the JWKS endpoint for every JWT with an unknown kid value, with no rate limiting. Since kid comes from the unverified token header, an attacker can trigger unlimited outbound requests. The vulnerability surfaces only when a JWKS fetch fails; an attacker can attempt to provoke that with sustained unknown-kid traffic, but the outcome depends on upstream JWKS-endpoint behavior (rate limiting, transient errors) which is beyond the attacker's control. This vulnerability is fixed in 2.13.0.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
Low

Exploit likelihood

0.40%Up 0.4 points since May 29, 2026
90%50%10%1%

What each source reports

CVE List Score used 3.7

PyJWT: PyJWKClient unbounded JWKS endpoint requests via attacker-controlled kid values (DoS)

PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, PyJWKClient.get_signing_key() forces a fresh HTTP request to the JWKS endpoint for every JWT with an unknown kid value, with no rate limiting. Since kid comes from the unverified token header, an attacker can trigger unlimited outbound requests. The vulnerability surfaces only when a JWKS fetch fails; an attacker can attempt to provoke that with sustained unknown-kid traffic, but the outcome depends on upstream JWKS-endpoint behavior (rate limiting, transient errors) which is beyond the attacker's control. This vulnerability is fixed in 2.13.0.

Record
CVE-2026-48524
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-460, CWE-755
Updated
2026-11-02
EUVDEUVD-2026-32916 3.7

PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, PyJWKClient.get_signing_key() forces a fresh HTTP request to the JWKS endpoint for every JWT with an unknown kid value, with no rate limiting. Since kid comes from the unverified token header, an attacker can trigger unlimited outbound requests. The vulnerability surfaces only when a JWKS fetch fails; an attacker can attempt to provoke that with sustained unknown-kid traffic, but the outcome depends on upstream JWKS-endpoint behavior (rate limiting, transient errors) which is beyond the attacker's control. This vulnerability is fixed in 2.13.0.

Record
EUVD-2026-32916
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
GitHub AdvisoriesGHSA-fhv5-28vv-h8m8 3.7

PyJWKClient unbounded JWKS endpoint requests via attacker-controlled kid values (DoS)

[!NOTE] The vulnerability surfaces only when a JWKS fetch fails; an attacker can attempt to provoke that with sustained unknown-kid traffic, but the outcome depends on upstream JWKS-endpoint behavior (rate limiting, transient errors) which is beyond the attacker's control. Impact is reduced auth availability until the next successful fetch, not complete denial of service.

Summary

PyJWKClient.get_signing_key() forces a fresh HTTP request to the JWKS endpoint for every JWT with an unknown kid value, with no rate limiting. Since kid comes from the unverified token header, an attacker can trigger unlimited outbound requests.

Additionally, fetch_data() finally block clears the JWKS cache on network error.

Root Cause

jwt/jwks_client.py:172-198 - get_signing_key(kid) calls get_signing_keys(refresh=True) for unknown kids, bypassing TTL cache with no cooldown. jwt/jwks_client.py:120-122 - finally block writes None to cache on error, clearing valid data.

Impact

  • DoS against JWKS endpoint (unlimited requests per invalid token)
  • DoS against application (network I/O latency)
  • Cascading failure (rate limiting clears cache, breaking legitimate auth)

Suggested Fix

  1. Add refresh cooldown (refuse refresh more than once per TTL period)
  2. Move cache write from finally to else block

Affected Versions

All versions with PyJWKClient (2.4.0 through 2.12.1)

Record
GHSA-fhv5-28vv-h8m8
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-460, CWE-755
Updated
2026-11-02
NVD 3.7

PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, PyJWKClient.get_signing_key() forces a fresh HTTP request to the JWKS endpoint for every JWT with an unknown kid value, with no rate limiting. Since kid comes from the unverified token header, an attacker can trigger unlimited outbound requests. The vulnerability surfaces only when a JWKS fetch fails; an attacker can attempt to provoke that with sustained unknown-kid traffic, but the outcome depends on upstream JWKS-endpoint behavior (rate limiting, transient errors) which is beyond the attacker's control. This vulnerability is fixed in 2.13.0.

Record
CVE-2026-48524
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-460, CWE-755
Updated
2026-11-02
OSVBELL-CVE-2026-48524 3.7
Record
BELL-CVE-2026-48524
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSV 3.7

PyJWT: PyJWKClient unbounded JWKS endpoint requests via attacker-controlled kid values (DoS)

PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, PyJWKClient.get_signing_key() forces a fresh HTTP request to the JWKS endpoint for every JWT with an unknown kid value, with no rate limiting. Since kid comes from the unverified token header, an attacker can trigger unlimited outbound requests. The vulnerability surfaces only when a JWKS fetch fails; an attacker can attempt to provoke that with sustained unknown-kid traffic, but the outcome depends on upstream JWKS-endpoint behavior (rate limiting, transient errors) which is beyond the attacker's control. This vulnerability is fixed in 2.13.0.

Record
CVE-2026-48524
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-460, CWE-755
Updated
2026-11-02
Show 16 moreShow less
OSVDEBIAN-CVE-2026-48524 3.7

PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, PyJWKClient.get_signing_key() forces a fresh HTTP request to the JWKS endpoint for every JWT with an unknown kid value, with no rate limiting. Since kid comes from the unverified token header, an attacker can trigger unlimited outbound requests. The vulnerability surfaces only when a JWKS fetch fails; an attacker can attempt to provoke that with sustained unknown-kid traffic, but the outcome depends on upstream JWKS-endpoint behavior (rate limiting, transient errors) which is beyond the attacker's control. This vulnerability is fixed in 2.13.0.

Record
DEBIAN-CVE-2026-48524
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVGHSA-fhv5-28vv-h8m8 3.7

PyJWKClient unbounded JWKS endpoint requests via attacker-controlled kid values (DoS)

[!NOTE] The vulnerability surfaces only when a JWKS fetch fails; an attacker can attempt to provoke that with sustained unknown-kid traffic, but the outcome depends on upstream JWKS-endpoint behavior (rate limiting, transient errors) which is beyond the attacker's control. Impact is reduced auth availability until the next successful fetch, not complete denial of service.

Summary

PyJWKClient.get_signing_key() forces a fresh HTTP request to the JWKS endpoint for every JWT with an unknown kid value, with no rate limiting. Since kid comes from the unverified token header, an attacker can trigger unlimited outbound requests.

Additionally, fetch_data() finally block clears the JWKS cache on network error.

Root Cause

jwt/jwks_client.py:172-198 - get_signing_key(kid) calls get_signing_keys(refresh=True) for unknown kids, bypassing TTL cache with no cooldown. jwt/jwks_client.py:120-122 - finally block writes None to cache on error, clearing valid data.

Impact

  • DoS against JWKS endpoint (unlimited requests per invalid token)
  • DoS against application (network I/O latency)
  • Cascading failure (rate limiting clears cache, breaking legitimate auth)

Suggested Fix

  1. Add refresh cooldown (refuse refresh more than once per TTL period)
  2. Move cache write from finally to else block

Affected Versions

All versions with PyJWKClient (2.4.0 through 2.12.1)

Record
GHSA-fhv5-28vv-h8m8
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-460, CWE-755
Updated
2026-11-02
OSVPYSEC-2026-177 3.7

PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, PyJWKClient.get_signing_key() forces a fresh HTTP request to the JWKS endpoint for every JWT with an unknown kid value, with no rate limiting. Since kid comes from the unverified token header, an attacker can trigger unlimited outbound requests. The vulnerability surfaces only when a JWKS fetch fails; an attacker can attempt to provoke that with sustained unknown-kid traffic, but the outcome depends on upstream JWKS-endpoint behavior (rate limiting, transient errors) which is beyond the attacker's control. This vulnerability is fixed in 2.13.0.

Record
PYSEC-2026-177
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVUBUNTU-CVE-2026-48524 3.7

PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, PyJWKClient.get_signing_key() forces a fresh HTTP request to the JWKS endpoint for every JWT with an unknown kid value, with no rate limiting. Since kid comes from the unverified token header, an attacker can trigger unlimited outbound requests. The vulnerability surfaces only when a JWKS fetch fails; an attacker can attempt to provoke that with sustained unknown-kid traffic, but the outcome depends on upstream JWKS-endpoint behavior (rate limiting, transient errors) which is beyond the attacker's control. This vulnerability is fixed in 2.13.0.

Record
UBUNTU-CVE-2026-48524
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVAZL-93027 No score

CVE-2026-48524 affecting package python-jwt for versions less than 2.13.0-1

PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, PyJWKClient.get_signing_key() forces a fresh HTTP request to the JWKS endpoint for every JWT with an unknown kid value, with no rate limiting. Since kid comes from the unverified token header, an attacker can trigger unlimited outbound requests. The vulnerability surfaces only when a JWKS fetch fails; an attacker can attempt to provoke that with sustained unknown-kid traffic, but the outcome depends on upstream JWKS-endpoint behavior (rate limiting, transient errors) which is beyond the attacker's control. This vulnerability is fixed in 2.13.0.

Record
AZL-93027
Updated
2026-11-02
OSVCLSA-2026-1783299703 No score

TuxCare security update for pyjwt (4 CVEs)

TuxCare rebuilt pyjwt to address 4 CVEs. Fixed in 2.10.1.post2+tuxcare.

Record
CLSA-2026-1783299703
Updated
2026-11-02
OSVCLSA-2026-1786944250 No score

TuxCare security update for pyjwt (2 CVEs)

TuxCare rebuilt pyjwt to address 2 CVEs. Fixed in 2.8.0.post3+tuxcare.

Record
CLSA-2026-1786944250
Updated
2026-11-02
OSVopenSUSE-SU-2026:11024-1 No score

python311-PyJWT-2.13.0-1.1 on GA media

These are all security issues fixed in the python311-PyJWT-2.13.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11024-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:21095-1 No score

Security update for python-PyJWT

This update for python-PyJWT fixes the following issues

  • CVE-2026-48522: PyJWKClient passes URI arguments directly to urllib.request.urlopen() and allows for SSRF and token forgery (bsc#1266798).
  • CVE-2026-48523: verifier-side algorithm allow-list bypass when jwt.decode() or jwt.decode_complete() are called with a PyJWK key (bsc#1266799).
  • CVE-2026-48524: unlimited processing of JWTs with unknown kid values by PyJWKClient.get_signing_key() leads to unbounded JWKS endpoint requests and DoS (bsc#1266800).
  • CVE-2026-48525: unbounded Base64URL decoding of unused payload segment in b64=false detached JWS allows for DoS (bsc#1266801).
  • CVE-2026-48526: no validation of use of JSON Web Keys in HMAC algorithm when decoding JSON Web Tokens allows for forged HS256 tokens (bsc#1266802).
Record
openSUSE-SU-2026:21095-1
Updated
2026-11-02
OSVROOT-APP-PYPI-CVE-2026-48524 No score

CVE-2026-48524 in PyJWT - Patched by Root

Root has patched CVE-2026-48524 in the PyJWT package for Root:PyPI. Multiple fixed versions available.

Record
ROOT-APP-PYPI-CVE-2026-48524
Updated
2026-11-02
OSVSUSE-SU-2026:22138-1 No score

Security update for python-PyJWT

This update for python-PyJWT fixes the following issues

  • CVE-2026-48522: PyJWKClient passes URI arguments directly to urllib.request.urlopen() and allows for SSRF and token forgery (bsc#1266798).
  • CVE-2026-48523: verifier-side algorithm allow-list bypass when jwt.decode() or jwt.decode_complete() are called with a PyJWK key (bsc#1266799).
  • CVE-2026-48524: unlimited processing of JWTs with unknown kid values by PyJWKClient.get_signing_key() leads to unbounded JWKS endpoint requests and DoS (bsc#1266800).
  • CVE-2026-48525: unbounded Base64URL decoding of unused payload segment in b64=false detached JWS allows for DoS (bsc#1266801).
  • CVE-2026-48526: no validation of use of JSON Web Keys in HMAC algorithm when decoding JSON Web Tokens allows for forged HS256 tokens (bsc#1266802).
Record
SUSE-SU-2026:22138-1
Updated
2026-11-02
OSVSUSE-SU-2026:22170-1 No score

Security update for python-PyJWT

This update for python-PyJWT fixes the following issues

  • CVE-2026-48522: PyJWKClient passes URI arguments directly to urllib.request.urlopen() and allows for SSRF and token forgery (bsc#1266798).
  • CVE-2026-48523: verifier-side algorithm allow-list bypass when jwt.decode() or jwt.decode_complete() are called with a PyJWK key (bsc#1266799).
  • CVE-2026-48524: unlimited processing of JWTs with unknown kid values by PyJWKClient.get_signing_key() leads to unbounded JWKS endpoint requests and DoS (bsc#1266800).
  • CVE-2026-48525: unbounded Base64URL decoding of unused payload segment in b64=false detached JWS allows for DoS (bsc#1266801).
  • CVE-2026-48526: no validation of use of JSON Web Keys in HMAC algorithm when decoding JSON Web Tokens allows for forged HS256 tokens (bsc#1266802).
Record
SUSE-SU-2026:22170-1
Updated
2026-11-02
OSVSUSE-SU-2026:22220-1 No score

Security update for python-PyJWT

This update for python-PyJWT fixes the following issues

  • CVE-2026-48522: PyJWKClient passes URI arguments directly to urllib.request.urlopen() and allows for SSRF and token forgery (bsc#1266798).
  • CVE-2026-48523: verifier-side algorithm allow-list bypass when jwt.decode() or jwt.decode_complete() are called with a PyJWK key (bsc#1266799).
  • CVE-2026-48524: unlimited processing of JWTs with unknown kid values by PyJWKClient.get_signing_key() leads to unbounded JWKS endpoint requests and DoS (bsc#1266800).
  • CVE-2026-48525: unbounded Base64URL decoding of unused payload segment in b64=false detached JWS allows for DoS (bsc#1266801).
  • CVE-2026-48526: no validation of use of JSON Web Keys in HMAC algorithm when decoding JSON Web Tokens allows for forged HS256 tokens (bsc#1266802).
Record
SUSE-SU-2026:22220-1
Updated
2026-11-02
OSVSUSE-SU-2026:22238-1 No score

Security update for python-PyJWT

This update for python-PyJWT fixes the following issues

  • CVE-2026-48522: PyJWKClient passes URI arguments directly to urllib.request.urlopen() and allows for SSRF and token forgery (bsc#1266798).
  • CVE-2026-48523: verifier-side algorithm allow-list bypass when jwt.decode() or jwt.decode_complete() are called with a PyJWK key (bsc#1266799).
  • CVE-2026-48524: unlimited processing of JWTs with unknown kid values by PyJWKClient.get_signing_key() leads to unbounded JWKS endpoint requests and DoS (bsc#1266800).
  • CVE-2026-48525: unbounded Base64URL decoding of unused payload segment in b64=false detached JWS allows for DoS (bsc#1266801).
  • CVE-2026-48526: no validation of use of JSON Web Keys in HMAC algorithm when decoding JSON Web Tokens allows for forged HS256 tokens (bsc#1266802).
Record
SUSE-SU-2026:22238-1
Updated
2026-11-02
OSVSUSE-SU-2026:2626-1 No score

Security update for python-PyJWT

This update for python-PyJWT fixes the following issues

  • CVE-2026-48522: PyJWKClient passes URI arguments directly to urllib.request.urlopen() and allows for SSRF and token forgery (bsc#1266798).
  • CVE-2026-48523: verifier-side algorithm allow-list bypass when jwt.decode() or jwt.decode_complete() are called with a PyJWK key (bsc#1266799).
  • CVE-2026-48524: unlimited processing of JWTs with unknown kid values by PyJWKClient.get_signing_key() leads to unbounded JWKS endpoint requests and DoS (bsc#1266800).
  • CVE-2026-48525: unbounded Base64URL decoding of unused payload segment in b64=false detached JWS allows for DoS (bsc#1266801).
  • CVE-2026-48526: no validation of use of JSON Web Keys in HMAC algorithm when decoding JSON Web Tokens allows for forged HS256 tokens (bsc#1266802).
Record
SUSE-SU-2026:2626-1
Updated
2026-11-02
OSVUSN-8823-1 No score

pyjwt vulnerabilities

It was discovered that PyJWT incorrectly handled certain URIs when using PyJWKClient. A remote attacker could possibly use this issue to perform server-side request forgery (SSRF) or expose sensitive local files. This issue only affected Ubuntu 22.04 LTS, Ubuntu 24.04 LTS and Ubuntu 26.04 LTS. (CVE-2026-48522)

It was discovered that PyJWT incorrectly verified cryptographic signatures when decoding tokens with PyJWK keys. A remote attacker could possibly use this issue to bypass signature verification and forge valid JSON Web Tokens. This issue only affected Ubuntu 26.04 LTS. (CVE-2026-48523)

It was discovered that PyJWT incorrectly handled unknown key identifiers in PyJWKClient. A remote attacker could possibly use this issue to cause PyJWT to make excessive network requests, resulting in a denial of service. This issue only affected Ubuntu 24.04 LTS and Ubuntu 26.04 LTS. (CVE-2026-48524)

It was discovered that PyJWT incorrectly handled payload decoding during detached JWS token verification. A remote attacker could possibly use this issue to cause PyJWT to consume excessive resources, resulting in a denial of service. This issue only affected Ubuntu 24.04 LTS and Ubuntu 26.04 LTS. (CVE-2026-48525)

It was discovered that PyJWT incorrectly validated JSON Web Keys when decoding tokens with both HMAC and asymmetric algorithms enabled. A remote attacker could possibly use this issue to forge valid tokens, resulting in an authentication bypass. (CVE-2026-48526)

Record
USN-8823-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
pyjwt
PyPI
2.0.0 to 2.12.1
2.13.0
python-jwt
Azure Linux:3
before 2.13.0-1
2.13.0-1
py3-jwt
Alpaquita:25
2.10.1-r0 up to 2.13.0-r0
2.13.0-r0
py3-jwt
Alpaquita:stream
2.8.0-r1 up to 2.13.0-r0
2.13.0-r0
pyjwt
TuxCare:PyPI
From an advisory covering 4 CVEs
2.10.1 up to 2.10.1.post2+tuxcare, plus listed versions
2.10.1.post1+tuxcare
2.10.1.post2+tuxcare
pyjwt
TuxCare:PyPI
From an advisory covering 2 CVEs
2.8.0 up to 2.8.0.post3+tuxcare, plus listed versions
2.8.0.post1+tuxcare2.8.0.post2+tuxcare
2.8.0.post3+tuxcare
pyjwt
Debian:12
All versions, plus listed versions
2.10.1-12.10.1-22.10.1-32.10.1-42.11.0-2
Show 8 moreShow less
2.12.1-12.13.0-12.14.0-12.15.0-12.15.1-12.6.0-12.6.0-1+deb12u12.7.0-1
None known
pyjwt
Debian:13
All versions, plus listed versions
2.10.1-22.10.1-2+deb13u12.10.1-32.10.1-42.11.0-2
Show 5 moreShow less
2.12.1-12.13.0-12.14.0-12.15.0-12.15.1-1
None known
pyjwt
Debian:14
before 2.13.0-1, plus listed versions
2.10.1-22.10.1-32.10.1-42.11.0-22.12.1-1
2.13.0-1
pyjwt
PyPI
2.0.0 up to 2.13.0, plus listed versions
2.0.12.1.02.10.02.10.12.11.0
Show 10 moreShow less
2.12.02.12.12.2.02.3.02.4.02.5.02.6.02.7.02.8.02.9.0
2.13.0
Show 30 moreShow less
Affected packages
PackageAffectedFixed
pyjwt
PyPI
before 2.13.0, plus listed versions
0.1.10.1.20.1.30.1.40.1.5
Show 45 moreShow less
0.1.60.1.70.1.80.1.90.2.00.2.10.2.30.3.00.3.10.3.20.4.00.4.10.4.20.4.31.0.01.0.11.1.01.3.01.4.01.4.11.4.21.5.01.5.11.5.21.5.31.6.01.6.11.6.31.6.41.7.01.7.12.0.02.0.0a12.0.0a22.0.12.1.02.10.02.10.12.11.02.12.02.12.12.2.02.3.02.4.02.5.0
2.13.0
PyJWT
Root:PyPI
before 2.9.0+aikido.6
2.9.0+aikido.62.8.0+aikido.52.5.0+aikido.52.12.1+aikido.32.4.0+aikido.62.10.1+aikido.72.12.0+aikido.42.4.0+aikido.72.12.0+aikido.52.8.0+aikido.62.12.1+aikido.42.5.0+aikido.62.12.1+aikido.5
python-PyJWT
SUSE:Linux Micro 6.1
From an advisory covering 5 CVEs
before 2.12.1-slfo.1.1_2.1
2.12.1-slfo.1.1_2.1
python-PyJWT
SUSE:Linux Enterprise Server 16.0
From an advisory covering 5 CVEs
before 2.12.1-160000.2.1
2.12.1-160000.2.1
python-PyJWT
SUSE:Linux Enterprise Server for SAP applications 16.0
From an advisory covering 5 CVEs
before 2.12.1-160000.2.1
2.12.1-160000.2.1
python-PyJWT
SUSE:Linux Micro 6.2
From an advisory covering 5 CVEs
before 2.12.1-160000.2.1
2.12.1-160000.2.1
python-PyJWT
SUSE:Linux Micro 6.0
From an advisory covering 5 CVEs
before 2.9.0-3.1
2.9.0-3.1
python-PyJWT
SUSE:Linux Enterprise Module for Public Cloud 15 SP4
From an advisory covering 5 CVEs
before 2.8.0-150400.8.13.1
2.8.0-150400.8.13.1
python-PyJWT
SUSE:Linux Enterprise Module for Python 3 15 SP7
From an advisory covering 5 CVEs
before 2.8.0-150400.8.13.1
2.8.0-150400.8.13.1
python-PyJWT
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS
From an advisory covering 5 CVEs
before 2.8.0-150400.8.13.1
2.8.0-150400.8.13.1
python-PyJWT
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS
From an advisory covering 5 CVEs
before 2.8.0-150400.8.13.1
2.8.0-150400.8.13.1
python-PyJWT
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS
From an advisory covering 5 CVEs
before 2.8.0-150400.8.13.1
2.8.0-150400.8.13.1
python-PyJWT
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS
From an advisory covering 5 CVEs
before 2.8.0-150400.8.13.1
2.8.0-150400.8.13.1
python-PyJWT
SUSE:Linux Enterprise Server 15 SP4-LTSS
From an advisory covering 5 CVEs
before 2.8.0-150400.8.13.1
2.8.0-150400.8.13.1
python-PyJWT
SUSE:Linux Enterprise Server 15 SP5-LTSS
From an advisory covering 5 CVEs
before 2.8.0-150400.8.13.1
2.8.0-150400.8.13.1
python-PyJWT
SUSE:Linux Enterprise Server 15 SP6-LTSS
From an advisory covering 5 CVEs
before 2.8.0-150400.8.13.1
2.8.0-150400.8.13.1
python-PyJWT
SUSE:Linux Enterprise Server for SAP Applications 15 SP4
From an advisory covering 5 CVEs
before 2.8.0-150400.8.13.1
2.8.0-150400.8.13.1
python-PyJWT
SUSE:Linux Enterprise Server for SAP Applications 15 SP5
From an advisory covering 5 CVEs
before 2.8.0-150400.8.13.1
2.8.0-150400.8.13.1
python-PyJWT
SUSE:Linux Enterprise Server for SAP Applications 15 SP6
From an advisory covering 5 CVEs
before 2.8.0-150400.8.13.1
2.8.0-150400.8.13.1
pyjwt
Ubuntu:24.04:LTS
before 2.7.0-1ubuntu0.2, plus listed versions
2.7.0-12.7.0-1ubuntu0.1
2.7.0-1ubuntu0.2
pyjwt
Ubuntu:25.10
All versions, plus listed versions
2.10.1-22.10.1-2ubuntu0.1
None known
pyjwt
Ubuntu:26.04:LTS
before 2.10.1-4ubuntu1.1, plus listed versions
2.10.1-22.10.1-32.10.1-3build12.10.1-42.10.1-4ubuntu1
2.10.1-4ubuntu1.1
pyjwt
Ubuntu:Pro:16.04:LTS
From an advisory covering 5 CVEs
before 1.3.0-1ubuntu0.1+esm2, plus listed versions
1.0.0-0ubuntu11.3.0-11.3.0-1ubuntu0.11.3.0-1ubuntu0.1+esm1
1.3.0-1ubuntu0.1+esm2
pyjwt
Ubuntu:Pro:18.04:LTS
From an advisory covering 5 CVEs
before 1.5.3+ds1-1ubuntu0.1+esm2, plus listed versions
1.4.2-1.11.5.3+ds1-11.5.3+ds1-1ubuntu0.11.5.3+ds1-1ubuntu0.1+esm1
1.5.3+ds1-1ubuntu0.1+esm2
pyjwt
Ubuntu:Pro:20.04:LTS
From an advisory covering 5 CVEs
before 1.7.1-2ubuntu2.1+esm2, plus listed versions
1.7.0-21.7.1-11.7.1-2ubuntu11.7.1-2ubuntu21.7.1-2ubuntu2.11.7.1-2ubuntu2.1+esm1
1.7.1-2ubuntu2.1+esm2
pyjwt
Ubuntu:22.04:LTS
From an advisory covering 5 CVEs
before 2.3.0-1ubuntu0.4, plus listed versions
1.7.1-2ubuntu22.1.0-12.3.0-12.3.0-1ubuntu0.12.3.0-1ubuntu0.22.3.0-1ubuntu0.3
2.3.0-1ubuntu0.4
pyjwt
Ubuntu:24.04:LTS
From an advisory covering 5 CVEs
before 2.7.0-1ubuntu0.2, plus listed versions
2.7.0-12.7.0-1ubuntu0.1
2.7.0-1ubuntu0.2
pyjwt
Ubuntu:26.04:LTS
From an advisory covering 5 CVEs
before 2.10.1-4ubuntu1.1, plus listed versions
2.10.1-22.10.1-32.10.1-3build12.10.1-42.10.1-4ubuntu1
2.10.1-4ubuntu1.1
python-PyJWT
openSUSE:Tumbleweed
From an advisory covering 5 CVEs
before 2.13.0-1.1
2.13.0-1.1
python-PyJWT
openSUSE:Leap 16.0
From an advisory covering 5 CVEs
before 2.12.1-160000.2.1
2.12.1-160000.2.1

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-48524 is a low vulnerability (CVSS 3.7) in Jpadilla Pyjwt, published May 28, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.40%, the 34th percentile. Fixed in pyjwt 2.13.0.

References

Show 25 moreShow less
This page doesn't list everything

Left out here: 4 versions. The JSON record has them.

MoveEnter Open