CVE-2025-59531 Unauthenticated argocd-server panic via a malicious Bitbucket-Server webhook payload
Unauthenticated attackers can crash the Argo CD API server via malicious Bitbucket webhook payloads if the webhook secret is not configured.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-59531?
CVE-2025-59531 is a high-severity denial of service vulnerability in Argoproj Argo Cd, published on 1 Oct 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Versions 1.2.0 through 1.8.7, 2.0.0-rc1 through 2.14.19, 3.0.0-rc1 through 3.2.0-rc1, 3.1.7 and 3.0.18 are vulnerable to malicious API requests which can crash the API server and cause denial of service to legitimate clients. Without a configured webhook.bitbucketserver.secret, Argo CD's /api/webhook endpoint crashes when receiving a malformed Bitbucket Server payload (non-array repository.links.clone field). A single unauthenticated request triggers CrashLoopBackOff, and targeting all replicas causes complete API outage. This issue is fixed in versions 2.14.20, 3.2.0-rc2, 3.1.8 and 3.0.19.
Weakness: CWE-703
Which versions are affected by CVE-2025-59531?
14 open source packages ship an affected version, including github.com/argoproj/argo-cd/v3, argo-cd and github.com/argoproj/argo-cd. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
github.com/argoproj/argo-cd/v3 Go | From 3.0.0-rc1 | 3.0.19, 3.1.8, 3.2.0-rc2 |
github.com/argoproj/argo-cd/v3 Go | From 3.0.0-rc1 | 3.0.19 |
github.com/argoproj/argo-cd/v3 Go | From 3.0.0-rc1 | 3.0.19 |
github.com/argoproj/argo-cd/v3 Go | From 3.1.0-rc1 | 3.1.8 |
github.com/argoproj/argo-cd/v3 Go | From 3.1.0-rc1 | 3.1.8 |
github.com/argoproj/argo-cd/v3 Go | From 3.2.0-rc1 | 3.2.0-rc2 |
8 more packages
github.com/argoproj/argo-cd/v3 Go | From 3.2.0-rc1 | 3.2.0-rc2 |
argo-cd Bitnami | From 1.2.0 | 2.14.20, 3.0.19, 3.1.8 |
github.com/argoproj/argo-cd Go | From 1.2.0 | None |
github.com/argoproj/argo-cd Go | From 1.2.0 to 1.8.7 | None |
github.com/argoproj/argo-cd Go | From 1.2.0 to 1.8.7 | None |
github.com/argoproj/argo-cd/v2 Go | All versions | 2.14.20 |
github.com/argoproj/argo-cd/v2 Go | From 2.0.0-rc1 | 2.14.20 |
github.com/argoproj/argo-cd/v2 Go | From 2.0.0-rc1 | 2.14.20 |
Products include Argoproj Argo Cd.
How do I fix CVE-2025-59531?
Upgrade github.com/argoproj/argo-cd/v3 to a fixed version for your release line: 3.0.19, 3.1.8 or 3.2.0-rc2.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2025-59531 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-59531 exists.
Other vulnerabilities in Argoproj Argo Cd
- CVE-2025-55190 Argo CD: Project API Token Exposes Repository Credentials
- CVE-2022-29165 Argo CD will blindly trust JWT claims if anonymous access is enabled
- CVE-2023-40029 Cluster secret might leak in cluster details page in Argo CD
- CVE-2022-24768 Improper access control allows admin privilege escalation in Argo CD
- CVE-2024-21652 Argo CD vulnerable to Bypassing of Brute Force Protection via Application Crash and In-Memory Data Loss
Sources
Also known as BIT-argo-cd-2025-59531, GHSA-f9gq-prrc-hrhc, GO-2025-3993, MINI-3296-495q-rq52, MINI-56r4-4gch-v2vj, MINI-6hrg-p8j6-mc6p and 7 more.