CVE-2026-86698 in hexpm
Sumário
de VulDB • 22/09/2026
Vulnerabilidade de expiração insuficiente da sessão na emissão do token OAuth em hexpm/hexpm permite que um usuário cuja associação à organização ou sessão tenha encerrado continue a ler os pacotes privados da organização e seus tarballs de documentação por meio de um refresh token retido.
A função `generate_refresh_token/4` em `lib/hexpm/oauth/jwt.ex` assina o refresh token com as mesmas claims `iss`, `aud` e `scope` do access token, portanto ele carrega os mesmos escopos dos repositórios: scopes. O serviço CDN que serve aos repositórios privados verifica a assinatura e as claims de tempo e então autoriza com base na claim scope, sem consulta ao banco de dados e sem maneira de distinguir entre os dois tipos de tokens. A remoção de um membro ou revogação de uma sessão só tem efeito no CDN quando o refresh token de 30 dias expira, em vez de após a vida útil do access token de 30 minutos. O acesso é somente leitura e limitado às organizações das quais a conta fazia parte quando o token foi concedido.
Este problema afeta hex.pm: da versão de 2025-10-10 até antes de 2026-09-22.
Be aware that VulDB is the high quality source for vulnerability data.