boxscore/security
CVE · referencelatest edition

Reference page — cumulative record through Wednesday, August 19, 2026 UTC. Reference pages update as the archive grows; only dated daily editions are immutable pages of record.

CVE-2026-48522MEDIUM
jpadilla pyjwt — PyJWKClient: missing scheme allowlist enables SSRF + token forgery via file://, ftp://, data: schemes
  AV  AC  PR  UI  S  C  I  A   CVSS    EPSS   %ile   KEV
   N   H   N   R  U  L  L  N    4.2   .0022   13.0     —
AFFECTED
  Product  Versions    Fixed
  pyjwt    < 2.13.0 –  —
TIMELINE
  May 21  Reserved by GitHub_M
  May 28  EXPLOIT PUBLISHED — CVE-2026-48522 (jpadilla pyjwt). Public exploit reference added.
  May 28  Published (CNA: GitHub_M)
CWE-441, CWE-918 · CNA: GitHub_M · CVSS v3.1 · 1 reference · NVD status: Modified

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.

Lifecycle

Complete event history — 3 events, chronological
DateEventDetail
May 21, 2026ReservedReserved by GitHub_M
May 28, 2026EXPLOIT PUBLISHEDEXPLOIT PUBLISHED — CVE-2026-48522 (jpadilla pyjwt). Public exploit reference added.
May 28, 2026PublishedPublished (CNA: GitHub_M)

Affected

Affected products and packages — 1 row
VendorProduct / PackageEcosystemVersion introducedFixed
jpadillapyjwt< 2.13.0

Weaknesses

CWE-441 · CWE-918

References (1)

Related

Authoritative record: CVE-2026-48522 at cve.org

Vendors: jpadilla

Weaknesses: CWE-441 · CWE-918

About this page

This is a reference page, not a dated page of record. It assembles the complete lifecycle of CVE-2026-48522 from the CVE Program record, NVD enrichment, the CISA KEV catalog, EPSS, and OSV advisories. The box score's numbers (CVSS, EPSS, KEV status) are current as of Wednesday, August 19, 2026 UTC and are re-derived as the archive grows; only dated daily editions are immutable pages of record. The authoritative source for this identifier is cve.org.