PT-2025-40057 · Argo Cd · Argo Cd
Jake-Ciolek
·
Publicado
2025-09-30
·
Atualizado
2026-05-18
·
CVE-2025-59538
CVSS v3.1
9.8
Crítica
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Nome do Software Vulnerável e Versões Afetadas
Versões do Argo CD 2.9.0-rc1 até 2.14.19
Versões do Argo CD 3.0.0-rc1 até 3.2.0-rc1
Versão do Argo CD 3.1.6
Versão do Argo CD 3.0.17
Descrição
O Argo CD, uma ferramenta de entrega contínua GitOps declarativa para Kubernetes, está suscetível a um problema de negação de serviço. Quando o
webhook.azuredevops.username e o webhook.azuredevops.password não estão definidos na configuração padrão, o endpoint /api/webhook faz falhar todo o processo argocd-server ao receber um evento Push do Azure DevOps com um array JSON resource.refUpdates vazio. Isso ocorre porque o código tenta acessar o primeiro elemento ([0]) do slice resource.refUpdates sem verificar seu comprimento, levando a um panic de índice fora do intervalo. Uma única requisição HTTP POST não autenticada para o endpoint /api/webhook é suficiente para encerrar o processo. O código vulnerável está localizado em util/webhook/webhook.go por volta da linha 147, especificamente ao analisar as informações de revisão. O problema é acionado quando o array refUpdates está vazio, causando um panic durante o acesso ao slice.Recomendações
Para as versões 2.9.0-rc1 até 2.14.19, configure um segredo de webhook para garantir que apenas partes confiáveis possam invocar o manipulador de webhook.
Para as versões 2.9.0-rc1 até 2.14.19, se o Azure DevOps não for utilizado, defina o
webhook.azuredevops.username e o webhook.azuredevops.password para valores longos e aleatórios para efetivamente desabilitar a manipulação de webhook para payloads do Azure DevOps.
Para as versões 3.0.0-rc1 até 3.2.0-rc1, configure um segredo de webhook para garantir que apenas partes confiáveis possam invocar o manipulador de webhook.
Para as versões 3.0.0-rc1 até 3.2.0-rc1, se o Azure DevOps não for utilizado, defina o webhook.azuredevops.username e o webhook.azuredevops.password para valores longos e aleatórios para efetivamente desabilitar a manipulação de webhook para payloads do Azure DevOps.
Para a versão 3.1.6, configure um segredo de webhook para garantir que apenas partes confiáveis possam invocar o manipulador de webhook.
Para a versão 3.1.6, se o Azure DevOps não for utilizado, defina o webhook.azuredevops.username e o webhook.azuredevops.password para valores longos e aleatórios para efetivamente desabilitar a manipulação de webhook para payloads do Azure DevOps.
Para a versão 3.0.17, configure um segredo de webhook para garantir que apenas partes confiáveis possam invocar o manipulador de webhook.
Para a versão 3.0.17, se o Azure DevOps não for utilizado, defina o webhook.azuredevops.username e o webhook.azuredevops.password para valores longos e aleatórios para efetivamente desabilitar a manipulação de webhook para payloads do Azure DevOps.Exploit
Correção
DoS
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Argo Cd