PT-2025-40057 · Argo Cd · Argo Cd

Jake-Ciolek

·

Published

2025-09-30

·

Updated

2026-05-18

·

CVE-2025-59538

CVSS v3.1

9.8

Critical

VectorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Name of the Vulnerable Software and Affected Versions Argo CD versions 2.9.0-rc1 through 2.14.19 Argo CD versions 3.0.0-rc1 through 3.2.0-rc1 Argo CD version 3.1.6 Argo CD version 3.0.17
Description Argo CD, a declarative GitOps continuous delivery tool for Kubernetes, is susceptible to a denial-of-service issue. When the webhook.azuredevops.username and webhook.azuredevops.password are not set in the default configuration, the /api/webhook endpoint crashes the entire argocd-server process upon receiving an Azure DevOps Push event with an empty resource.refUpdates JSON array. This occurs because the code attempts to access the first element ([0]) of the resource.refUpdates slice without verifying its length, leading to an index-out-of-range panic. A single unauthenticated HTTP POST request to the /api/webhook endpoint is sufficient to terminate the process. The vulnerable code is located in util/webhook/webhook.go around line 147, specifically when parsing the revision information. The issue is triggered when the refUpdates array is empty, causing a panic during slice access.
Recommendations For versions 2.9.0-rc1 through 2.14.19, configure a webhook secret to ensure only trusted parties can invoke the webhook handler. For versions 2.9.0-rc1 through 2.14.19, if Azure DevOps is not used, set the webhook.azuredevops.username and webhook.azuredevops.password to long, random values to effectively disable webhook handling for Azure DevOps payloads. For versions 3.0.0-rc1 through 3.2.0-rc1, configure a webhook secret to ensure only trusted parties can invoke the webhook handler. For versions 3.0.0-rc1 through 3.2.0-rc1, if Azure DevOps is not used, set the webhook.azuredevops.username and webhook.azuredevops.password to long, random values to effectively disable webhook handling for Azure DevOps payloads. For version 3.1.6, configure a webhook secret to ensure only trusted parties can invoke the webhook handler. For version 3.1.6, if Azure DevOps is not used, set the webhook.azuredevops.username and webhook.azuredevops.password to long, random values to effectively disable webhook handling for Azure DevOps payloads. For version 3.0.17, configure a webhook secret to ensure only trusted parties can invoke the webhook handler. For version 3.0.17, if Azure DevOps is not used, set the webhook.azuredevops.username and webhook.azuredevops.password to long, random values to effectively disable webhook handling for Azure DevOps payloads.

Exploit

Fix

DoS

Weakness Enumeration

Related Identifiers

BIT-ARGO-CD-2025-59538
CLEANSTART-2026-AC12204
CLEANSTART-2026-AJ16639
CLEANSTART-2026-BD53293
CLEANSTART-2026-BH97849
CLEANSTART-2026-CZ81512
CLEANSTART-2026-DR75226
CLEANSTART-2026-DZ05206
CLEANSTART-2026-EC15228
CLEANSTART-2026-ER93728
CLEANSTART-2026-FF20499
CLEANSTART-2026-FF98917
CLEANSTART-2026-GL70025
CLEANSTART-2026-GQ03231
CLEANSTART-2026-IO04548
CLEANSTART-2026-JD75482
CLEANSTART-2026-JO01099
CLEANSTART-2026-JR48309
CLEANSTART-2026-JU62670
CLEANSTART-2026-JW58725
CLEANSTART-2026-KU65968
CLEANSTART-2026-KZ60560
CLEANSTART-2026-LS98939
CLEANSTART-2026-LU21824
CLEANSTART-2026-MA32024
CLEANSTART-2026-NJ43712
CLEANSTART-2026-NP17404
CLEANSTART-2026-NP19113
CLEANSTART-2026-NT80635
CLEANSTART-2026-NV34418
CLEANSTART-2026-OA33370
CLEANSTART-2026-OX06978
CLEANSTART-2026-PN58989
CLEANSTART-2026-QB67682
CLEANSTART-2026-QC30410
CLEANSTART-2026-QF85840
CLEANSTART-2026-QK02462
CLEANSTART-2026-TT42218
CLEANSTART-2026-UO76615
CLEANSTART-2026-VJ77782
CLEANSTART-2026-VY87942
CLEANSTART-2026-WP10148
CLEANSTART-2026-WQ07901
CLEANSTART-2026-XR85161
CLEANSTART-2026-YQ79300
CLEANSTART-2026-YW12690
CVE-2025-59538
GHSA-GPX4-37G2-C8PV
GO-2025-3995
OPENSUSE-SU-2025:15666-1
SUSE-SU-2025:3799-1

Affected Products

Argo Cd