4.2

CVE-2026-48522: jpadilla pyjwt Confused Deputy

CVSS: 4.2v3.1MediumModified
AliasesGHSA-993g-76c3-p5m4PYSEC-2026-175UBUNTU-CVE-2026-48522
Published 28-05-2026Last modified 02-06-2026

Vulnerability summary

CVE-2026-48522 is a medium (CVSS 4.2) Confused Deputy vulnerability in jpadilla pyjwt. EPSS estimates a 0.22% chance of exploitation in the next 30 days, higher than 11.7% of scored vulnerabilities. 1 public exploit is recorded.

Overall risk
27/100
0100
Medium · default modelHow is this calculated?
CVSS score
4.2/10
010
Medium · v3.1 (CVE.org)
EPSS score
0.22%
0%100%
Low · 0.00 pp in 30 days
KEVNot listedIn no KEV catalog
RansomwareNone recordedNo known use recorded
Public exploits1github

Advisory lineage

Upstream 0 · Downstream 9 · Related 10

Timeline

  1. 28-05-2026
    PublishedVulnerability first disclosed.
  2. 02-06-2026
    Last modifiedVulnerability information updated.

Description

PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, PyJWKClient passes its uri argument directly to urllib.request.urlopen() which uses Python stdlib's default OpenerDirector registering HTTPHandler, HTTPSHandler, FTPHandler, FileHandler, and DataHandler. There is currently no documented option to restrict which schemes PyJWKClient will fetch. If an application's jku URL ingestion path accepts attacker-influenced URLs (e.g., from JWT header, configuration file, OAuth flow parameter), the attacker can cause PyJWKClient to read arbitrary local files via file:// (SSRF on local filesystem), cause PyJWKClient to attempt FTP / data-URI fetches (broader SSRF surface), or forge tokens that PyJWT verifies as valid. The library does not directly return non-HTTP(S) URI contents to the attacker; the chained "plant a JWKS to forge tokens" scenario described in the original report requires additional application-layer flaws (attacker write access to a filesystem path, untrusted jku derivation) that this fix does not address. This vulnerability is fixed in 2.13.0.

CVSS metrics

7 scores · 7 sources · 1 version

EPSS trend

Probability

0.22%

Chance of exploitation in the next 30 days

Percentile

12%

Versus all other CVEs

30-day change

0.00 pp

From 0.22% on 19-09-2026

19-09-202619-10-2026
EPSS score
0.22%

Known exploited

Compare KEV catalogs

Not in any of the 3 tracked catalogs.

Public exploits

1 found
  • githubUnverified

    Pyjwt

    Maturity: poc

Weaknesses

CWE · root cause

Affected systems

Chainguard65 products
  • airflow-2< 2.11.2-r25
  • airflow-core-2< 2.11.2-r10
  • airflow-core-3< 3.2.2-r5
  • airflow-postgres-fips-3< 3.2.2-r3
  • awx< 24.6.1-r41
Wolfi17 products
  • datadog-agent-7.72-core-integrationsAll versions (No fix recorded)
  • datadog-agent-7.73-core-integrations< 7.73.3-r23
  • datadog-agent-7.74-core-integrations< 7.74.1-r24
  • datadog-agent-7.75-core-integrationsAll versions (No fix recorded)
  • datadog-agent-7.76All versions (No fix recorded)
Debian1 product
  • pyjwtAll versions (No fix recorded) | < 2.13.0-1
Jpadilla1 product
Pyjwt_project1 product
PyPI1 product
  • pyjwt≥ 2.0.0, < 2.13.0 | < 2.13.0
Ubuntu1 product
  • pyjwt< 2.3.0-1ubuntu0.4 | < 2.7.0-1ubuntu0.2 | All versions (No fix recorded) | < 2.10.1-4ubuntu1.1

7 vendors · 87 products

References

11 links
Show all 11 references