High severity · published Mar 18, 2024
CVE-2024-21661
Argo CD Denial of Service (DoS) Vulnerability Due to Unsafe Array Modification in Multi-threaded Environment
7.5
CVSS
1.2%
EPSS
No
On KEV
Description
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Prior to versions 2.8.13, 2.9.9, and 2.10.4, an attacker can exploit a critical flaw in the application to initiate a Denial of Service (DoS) attack, rendering the application inoperable and affecting all users. The issue arises from unsafe manipulation of an array in a multi-threaded environment. The vulnerability is rooted in the application's code, where an array is being modified while it is being iterated over. This is a classic programming error but becomes critically unsafe when executed in a multi-threaded environment. When two threads interact with the same array simultaneously, the application crashes. This is a Denial of Service (DoS) vulnerability. Any attacker can crash the application continuously, making it impossible for legitimate users to access the service. The issue is exacerbated because it does not require authentication, widening the pool of potential attackers. Versions 2.8.13, 2.9.9, and 2.10.4 contain a patch for this issue.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
None
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)1.2% · higher than 67% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
AR
argo-cd · argoproj
< 2.8.13; >= 2.9.0, < 2.9.9; >= 2.10.0, < 2.10.4 · source: vendor, CISA
AC
Argo CD · Argoproj
before 2.8.13; 2.9.0 before 2.9.9; 2.10.0 before 2.10.4 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2024-21661
CVE.org
https://www.cve.org/CVERecord?id=CVE-2024-21661
Product
https://github.com/argoproj/argo-cd/blob/54601c8fd30b86a4c4b7eb449956264372c8bde0/util/session/sessionmanager.go#L302-L311
Patch
https://github.com/argoproj/argo-cd/commit/2a22e19e06aaf6a1e734443043310a66c234e345
Patch
https://github.com/argoproj/argo-cd/commit/5bbb51ab423f273dda74ab956469843d2db2e208
Patch
https://github.com/argoproj/argo-cd/commit/ce04dc5c6f6e92033221ec6d96b74403b065ca8b
Exploit
https://github.com/argoproj/argo-cd/security/advisories/GHSA-6v85-wr92-q4p7
More from argo-cd
10.0
CVE-2022-29165
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes
9.9
CVE-2026-113709
Argo CD: A Kustomize Helm config home can run commands in the repo-server
9.9
CVE-2026-113708
Argo CD: A Kustomize remote ref can run commands in the repo-server
9.9
CVE-2026-113672
Argo CD: A Jsonnet import can read files from the repo-server
9.9
CVE-2026-77459
Argo CD: AppProject destination-namespace and resource restrictions bypassed by PreDelete/PostDelete resource hooks
