> CVE-2026-48522 [MEDIUM]

« BACK_TO_HOME
PUBLISHED
2026-05-28 16:16
MODIFIED
2026-05-28 16:16
CVSS_SCORE V3
4.2
EPSS (Prob. Exploit)
0.22%
Top 87.2%
DATA SOURCES:
NVD 🔗 2026-05-28 CWE MITRE 🔗 2026-11-01 FIRST EPSS 🔗 2026-11-01 OSV 🔗 2026-11-02 MSRC 🔗 2026-11-02

> 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.

> AFFECTED_PRODUCTS

ℹ️ Aucun produit affecté n'a encore été publié par NVD pour cette CVE.

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N
EXPLOITABILITY
1.6
IMPACT
2.5

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Network (N)
Exploit possible à distance via réseau (HTTP, API, etc.)
AC (Complexité d'Attaque)
Attack Complexity
High (H)
Conditions spécifiques doivent être réunies pour exploiter
PR (Privilèges Requis)
Privileges Required
None (N)
Aucune authentification requise
UI (Interaction Utilisateur)
User Interaction
Required (R)
Nécessite une action utilisateur (clic lien, ouverture fichier, etc.)
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
Low (L)
Divulgation limitée d'informations
I (Impact Intégrité)
Integrity Impact
Low (L)
Modification limitée des données possible
A (Impact Disponibilité)
Availability Impact
None (N)
Aucune interruption de service

> RÉSUMÉ DES IMPACTS

Confidentialité
Low
Divulgation limitée d'informations
Intégrité
Low
Modification limitée des données possible
Disponibilité
None
Aucune interruption de service

> WEAKNESSES

CWE-441 CWE-918

> CWE DETAILED DESCRIPTIONS

CWE-441: Unintended Proxy or Intermediary - The product receives a request, message, or directive from an upstream component, but the product does not sufficiently preserve the original source of the request before forwarding the request to an external actor that is outside of the product's control sphere. | CWE-918: Server-Side Request Forgery - The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

PyJWKClient: missing scheme allowlist enables SSRF + token forgery via file://, ftp://, data: schemes

AFFECTED PACKAGES:
Unknown / Unknown
48 versions affected
ALIASES:
GHSA-993g-76c3-p5m4, PYSEC-2026-175

> HISTORIQUE DES MODIFICATIONS

Première apparition
28/05/2026 16:16
Source: NVD
📊 ENRICHISSEMENT 01/11/2026 06:59
CWE
Champ modifié: Description CWE
Ancienne valeur:
CWE-441: Unintended Proxy or Intermediary ('Confused Deputy') - The product receives a request, message, or directive from an upstream component, but the product does not sufficiently preserve the ori...
Nouvelle valeur:
CWE-441: Unintended Proxy or Intermediary - The product receives a request, message, or directive from an upstream component, but the product does not sufficiently preserve the original source of the ...
📊 ENRICHISSEMENT 01/06/2026 06:01
CWE
Champ modifié: Description CWE
Ancienne valeur:
N/A
Nouvelle valeur:
CWE-441: Unintended Proxy or Intermediary ('Confused Deputy') - The product receives a request, message, or directive from an upstream component, but the product does not sufficiently preserve the ori...
Total des modifications: 2 Dernière mise à jour: 6 days ago

> REFERENCES

https://github.com/jpadilla/pyjwt/security/advisories/GHSA-993g-76c3-p5m4
« BACK_TO_HOME