CVE-2026-48522 in pyjwt
Sumário
de VulDB • 31/05/2026
PyJWT é uma implementação de JSON Web Token em Python. Antes da versão 2.13.0, o PyJWKClient passa seu argumento `uri` diretamente para `urllib.request.urlopen()`, que utiliza o `OpenerDirector` padrão da biblioteca padrão do Python, registrando `HTTPHandler`, `HTTPSHandler`, `FTPHandler`, `FileHandler` e `DataHandler`. Atualmente, não há opção documentada para restringir quais esquemas o PyJWKClient buscará. Se o caminho de ingestão de URL `jku` de um aplicativo aceitar URLs influenciados por um atacante (por exemplo, provenientes do cabeçalho JWT, arquivo de configuração ou parâmetro do fluxo OAuth), o atacante pode fazer com que o PyJWKClient leia arquivos locais arbitrários por meio de `file://` (SSRF no sistema de arquivos local), fazer com que o PyJWKClient tente buscar FTP / data-URI (superfície de SSRF mais ampla) ou forjar tokens que o PyJWT verifica como válidos. A biblioteca não retorna diretamente o conteúdo de URIs não HTTP(S) ao atacante; o cenário encadeado "plantar um JWKS para forjar tokens" descrito no relatório original requer falhas adicionais na camada de aplicação (acesso de escrita do atacante a um caminho no sistema de arquivos, derivação de `jku` não confiável) que esta correção não aborda. Esta vulnerabilidade foi corrigida na versão 2.13.0.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.