Loading...
Skip to main content

CVE-2024-21652 — Vulnerability in github.com/argoproj/argo-cd/v2 —...

CRITICAL

Bypassing Brute Force Protection via Application Crash and In-Memory Data Loss

Published March 18, 2024Updated August 7, 2026Source: osv

Summary

### Summary An attacker can exploit a chain of vulnerabilities, including a Denial of Service (DoS) flaw and in-memory data storage weakness, to effectively bypass the application's brute force login protection. This makes the application susceptible to brute force attacks, compromising the security of all user accounts. ### Details The issue arises from two main vulnerabilities: 1. The application crashes due to a previously described DoS vulnerability caused by unsafe array modifications in a multi-threaded environment. 2. The application saves the data of failed login attempts in-memory, without persistent storage. When the application crashes and restarts, this data is lost, resetting the brute force protections. ```go // LoginAttempts is a timestamped counter for failed login attempts type LoginAttempts struct { // Time of the last failed login LastFailed time.Time `json:"lastFailed"` // Number of consecutive login failures FailCount int `json:"failCount"` } ``` By chaining these vulnerabilities, an attacker can circumvent the limitations placed on the number of login attempts. ### PoC 1. Run the provided PoC script. 2. Observe that the script makes 6 login attempts, one more than the set limit of 5 failed attempts. 3. This is made possible because the script triggers a server restart via the DoS vulnerability after 5 failed attempts, thus resetting the counter for failed login attempts. ### Impact This is a critical security vulnerability that allows attackers to bypass the brute force login protection mechanism. Not only can they crash the service affecting all users, but they can also make unlimited login attempts, increasing the risk of account compromise.

Advisory Timeline

  • First published March 18, 2024 (938 days ago).
  • Last revised August 7, 2026 — 872 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Go
Update github.com/argoproj/argo-cd/v2 to 2.10.4 or later
go get github.com/argoproj/argo-cd/v2@v2.10.4
Go
Update github.com/argoproj/argo-cd/v2 to 2.9.9 or later
go get github.com/argoproj/argo-cd/v2@v2.9.9
Go
Update github.com/argoproj/argo-cd/v2 to 2.8.13 or later
go get github.com/argoproj/argo-cd/v2@v2.8.13

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (3)

Affects 1 ecosystem: go (1).

PackageEcosystemAffectedFixed In
github.com/argoproj/argo-cd/v2
go
All versions2.10.4
github.com/argoproj/argo-cd/v2
go
All versions2.9.9
github.com/argoproj/argo-cd/v2
go
All versions2.8.13

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.8 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Frequently Asked Questions

What is CVE-2024-21652?
Bypassing Brute Force Protection via Application Crash and In-Memory Data Loss This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 9.8/10).
How do I check if my project is affected by CVE-2024-21652?
CVE-2024-21652 affects github.com/argoproj/argo-cd/v2. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2024-21652 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.8

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-x32m-mvfj-52xv
BIT-argo-cd-2024-21652
BIT-argo-cd-2024-21662
CVE-2024-21662
GHSA-2vgg-9h6w-m454
GO-2024-2652

Related CVEs

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies