Argo CD
cpe:2.3:a:argoproj:argo_cd:*:*:*:*:*:*:*
- >= 2.1.0, <= 2.14.19
- 3.2.0-rc1
- 3.1.0-rc1
- >= 3.1.0-rc1, <= 3.1.7
- 3.0.0-rc1
- >= 3.0.0-rc1, <= 3.0.18
A race condition vulnerability has been identified in Argo CD, a GitOps continuous delivery tool for Kubernetes. This issue affects versions 2.1.0 prior to 2.14.19, 3.2.0-rc1, 3.1.0-rc1 through 3.1.7, and 3.0.0-rc1 through 3.0.18. The vulnerability arises in the repository credentials handler within the 'util/db/repository_secrets.go' file. It can be triggered when concurrent operations are performed on the same repository URL, causing the Argo CD server to panic and crash. This vulnerability requires a valid API token with permissions to manage repositories (create, update, or delete) to exploit. The race condition disrupts all GitOps operations by causing the Argo CD server to crash and become unavailable, creating a persistent denial-of-service state.
Exploitation of this vulnerability causes the Argo CD server to crash, leading to a denial-of-service condition that disrupts all GitOps operations.
The vulnerability can be reproduced by performing concurrent create, update, or delete operations on the same repository URL while managing repository credentials through Kubernetes secrets. This can be done using the Argo CD CLI or API, with an API token that has the necessary permissions. The race condition occurs because these concurrent operations access the same data without proper synchronization, causing a panic in the server.
Users can upgrade to Argo CD versions 2.14.20, 3.2.0-rc2, 3.1.8, or 3.0.19 to address this vulnerability.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.