Vulnerability · Published Mar 18, 2024 · Assigned by GitHub_M
CVE-2024-21661Argo CD Denial of Service (DoS) Vulnerability Due to Unsafe Array Modification in Multi-threaded Environment
High 7.5
In plain English
A high-severity out-of-bounds write in argo-cd from argoproj. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 1.2% (higher than 68% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official 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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Go | github.com/argoproj/argo-cd | no fix listed | GHSA-6v85-wr92-q4p7 |
| Go | github.com/argoproj/argo-cd/v2 | 2.8.13 | GHSA-6v85-wr92-q4p7 |
| Go | github.com/argoproj/argo-cd/v2 | 2.9.9 | GHSA-6v85-wr92-q4p7 |
| Go | github.com/argoproj/argo-cd/v2 | 2.10.4 | GHSA-6v85-wr92-q4p7 |
| Go | github.com/argoproj/argo-cd/v2 | 2.10.4, 2.8.13, 2.9.9 | GO-2024-2654 |
Affected products (as reported)
Weakness: CWE-787 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
References
- https://github.com/argoproj/argo-cd/security/advisories/GHSA-6v85-wr92-q4p7 x_refsource_CONFIRM
- https://github.com/argoproj/argo-cd/commit/2a22e19e06aaf6a1e734443043310a66c234e345 x_refsource_MISC
- https://github.com/argoproj/argo-cd/commit/5bbb51ab423f273dda74ab956469843d2db2e208 x_refsource_MISC
- https://github.com/argoproj/argo-cd/commit/ce04dc5c6f6e92033221ec6d96b74403b065ca8b x_refsource_MISC
- https://github.com/argoproj/argo-cd/blob/54601c8fd30b86a4c4b7eb449956264372c8bde0/util/session/sessionmanager.go#L302-L311 x_refsource_MISC