Plataforma
go
Componente
github.com/juju/juju
Corrigido em
2.9.57
3.6.21
4.0.6
0.0.0-20260408003526-d395054dc2c3
A vulnerabilidade CVE-2026-5774 afeta o Juju, especificamente a sincronização inadequada do mapa userTokens no servidor da API. Essa falha pode permitir que um usuário autenticado cause uma negação de serviço (DoS) no servidor ou reutilize um token de descarte de uso único. A vulnerabilidade impacta as versões do Juju entre 2.0.0 e 4.0.6, sendo corrigida na versão 4.0.6.
A CVE-2026-5774 afeta o servidor API do Juju, especificamente a estrutura localLoginHandlers. Esta estrutura utiliza um mapa na memória para armazenar tokens de descarga após a autenticação local bem-sucedida. A vulnerabilidade reside no fato de que este mapa é acessado de forma concorrente a partir de múltiplas goroutines de manipuladores HTTP, sem nenhum primitivo de sincronização (como um mutex) para protegê-lo. Isso pode levar a pânicos do tempo de execução do Go devido a condições de corrida ao ler, escrever ou excluir tokens simultaneamente. No pior dos casos, um token de descarga pode ser consumido mais de uma vez antes de ser excluído, potencialmente permitindo acesso não autorizado a recursos ou ações dentro do ambiente Juju.
A exploração desta vulnerabilidade requer acesso ao servidor API do Juju. Um atacante pode enviar múltiplas solicitações de autenticação local simultaneamente, esperando que a falta de sincronização no tratamento dos tokens de descarga permita que um token seja consumido mais de uma vez. Isso pode permitir que o atacante obtenha acesso a recursos ou execute ações dentro do ambiente Juju como se fosse um usuário legítimo. A probabilidade de exploração depende da carga no servidor API e da frequência com que as autenticações locais são usadas. A ausência de um KEV (Key Evidence) indica que não há evidência pública de exploração ativa na natureza.
Organizations heavily reliant on Juju for application deployment and management are at significant risk. This includes cloud providers, DevOps teams, and any environment where Juju is used to orchestrate applications, especially those handling sensitive data or critical infrastructure. Environments with legacy Juju installations or those that have not implemented robust access controls are particularly vulnerable.
• linux / server: Monitor Juju API server logs for Go runtime panics or unusual authentication patterns. Use journalctl -u juju-api-server to filter for error messages related to discharge token handling.
journalctl -u juju-api-server | grep -i "panic"• go: Review Juju source code for potential concurrency issues in the localLoginHandlers struct and related functions. Use static analysis tools to identify potential race conditions.
• generic web: Monitor authentication endpoints for unusual request patterns or excessive authentication attempts. Check access logs for errors related to discharge token handling.
disclosure
Status do Exploit
EPSS
0.01% (percentil 2%)
CISA SSVC
A correção fornecida (0.0.0-20260408003526-d395054dc2c3) aborda esta vulnerabilidade introduzindo mecanismos de sincronização apropriados, como mutexes, para proteger o acesso concorrente ao mapa de tokens de descarga. Recomenda-se fortemente atualizar para esta versão corrigida o mais rápido possível. Além disso, revise as políticas de segurança do seu ambiente Juju e limite o acesso a recursos a usuários e serviços autorizados. Monitorar os logs do servidor API do Juju em busca de erros ou comportamento incomum também pode ajudar a detectar tentativas de exploração. Considere a implementação de autenticação de dois fatores (2FA) para uma camada adicional de segurança.
Actualice el servidor de la API de Juju a la versión 2.9.57 o superior, 3.6.21 o superior, o 4.0.6 o superior para mitigar la vulnerabilidad. La actualización corrige la sincronización incorrecta del mapa de tokens de usuario, previniendo así posibles ataques de denegación de servicio o la reutilización de tokens de descarga de un solo uso.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
Um token de descarga é um identificador temporário que permite a um usuário acessar um ambiente Juju após a autenticação bem-sucedida.
Esta vulnerabilidade pode permitir que um atacante obtenha acesso não autorizado a recursos ou execute ações dentro do seu ambiente Juju.
Se não puder atualizar imediatamente, considere limitar o acesso ao servidor API do Juju e monitorar os logs em busca de atividades suspeitas.
Atualmente, não há evidência pública de que esta vulnerabilidade tenha sido explorada na natureza (KEV: não).
Você pode encontrar mais informações sobre esta vulnerabilidade no repositório GitHub do Juju: github.com/juju/juju
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.
Envie seu arquivo go.mod e descubra na hora se você está afetado.