Advisories for Golang/Github.com/Argoproj/Argo-Cd/V3 package

2025

Unauthenticated argocd-server panic via a malicious Bitbucket-Server webhook payload

Unpatched Argo CD versions are vulnerable to malicious API requests which can crash the API server and cause denial of service to legitimate clients. With the default configuration, no webhook.bitbucketserver.secret set, Argo CD’s /api/webhook endpoint will crash the entire argocd-server process when it receives a Bitbucket-Server push event whose JSON field repository.links.clone is anything other than an array. A single unauthenticated curl request can push the control-plane into CrashLoopBackOff; repeating …

argo-cd vulnerable unauthenticated DoS via malformed Gogs webhook payload

Unpatched Argo CD versions are vulnerable to malicious API requests which can crash the API server and cause denial of service to legitimate clients. With the default configuration, no webhook.gogs.secret set, Argo CD’s /api/webhook endpoint will crash the entire argocd-server process when it receives a Gogs push event whose JSON field commits[].repo is not set or is null.

Argo CD Unauthenticated Remote DoS via malformed Azure DevOps git.push webhook

In the default configuration, webhook.azuredevops.username and webhook.azuredevops.password not set, Argo CD’s /api/webhook endpoint crashes the entire argocd-server process when it receives an Azure DevOps Push event whose JSON array resource.refUpdates is empty. The slice index [0] is accessed without a length check, causing an index-out-of-range panic. A single unauthenticated HTTP POST is enough to kill the process.

Argo CD allows cross-site scripting on repositories page

This vulnerability allows an attacker to perform arbitrary actions on behalf of the victim via the API, such as creating, modifying, and deleting Kubernetes resources. Due to the improper filtering of URL protocols in the repository page, an attacker can achieve cross-site scripting with permission to edit the repository. In ui/src/app/shared/components/urls.ts, the following code exists to parse the repository URL.