Advisory Database
  • Advisories
  • Dependency Scanning
  1. golang
  2. ›
  3. github.com/argoproj/argo-cd/v2
  4. ›
  5. CVE-2024-31989

CVE-2024-31989: ArgoCD Vulnerable to Use of Risky or Missing Cryptographic Algorithms in Redis Cache

May 21, 2024

By default, the Redis database server is not password-protected. Consequently, an attacker with access to the Redis server can gain read/write access to the data in Redis. The attacker can also modify the “mfst” (manifest) key to cause ArgoCD to execute any deployment, potentially leveraging ArgoCD’s high privileges to take over the cluster. Updating the “cacheEntryHash” in the manifest JSON is necessary, but since it doesn’t use a private key for signing its integrity, a simple script can generate a new FNV64a hash matching the new manifest values. The repo-server, unable to verify if its cache is compromised, will read the altered “mfst” key and initiate an update process for the injected deployment.

It’s also possible to edit the “app|resources-tree” key, causing the ArgoCD server to load any Kubernetes resource into the live manifest section of the app preview. This could lead to an information leak.

The fact that the cache in Redis is neither signed nor validated, combined with Redis’s default lack of password protection, presents a significant security concern given ArgoCD’s high-level permissions within the cluster. A security update should ensure all Redis database values are signed or encrypted.

References

  • github.com/advisories/GHSA-9766-5277-j5hr
  • github.com/argoproj/argo-cd
  • github.com/argoproj/argo-cd/commit/2de0ceade243039c120c28374016c04ff9590d1d
  • github.com/argoproj/argo-cd/commit/35a7d6c7fa1534aceba763d6a68697f36c12e678
  • github.com/argoproj/argo-cd/commit/4e2fe302c3352a0012ecbe7f03476b0e07f7fc6c
  • github.com/argoproj/argo-cd/commit/53570cbd143bced49d4376d6e31bd9c7bd2659ff
  • github.com/argoproj/argo-cd/commit/6ef7b62a0f67e74b4aac2aee31c98ae49dd95d12
  • github.com/argoproj/argo-cd/commit/9552034a80070a93a161bfa330359585f3b85f07
  • github.com/argoproj/argo-cd/commit/bdd889d43969ba738ddd15e1f674d27964048994
  • github.com/argoproj/argo-cd/commit/f1a449e83ee73f8f14d441563b6a31b504f8d8b0
  • github.com/argoproj/argo-cd/security/advisories/GHSA-9766-5277-j5hr
  • nvd.nist.gov/vuln/detail/CVE-2024-31989

Code Behaviors & Features

Detect and mitigate CVE-2024-31989 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 2.8.19, all versions starting from 2.9.0-rc1 before 2.9.15, all versions starting from 2.10.0-rc1 before 2.10.10, all versions starting from 2.11.0-rc1 before 2.11.1

Fixed versions

  • 2.8.19
  • 2.9.15
  • 2.10.10
  • 2.11.1

Solution

Upgrade to versions 2.10.10, 2.11.1, 2.8.19, 2.9.15 or above.

Impact 9 CRITICAL

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

Learn more about CVSS

Weakness

  • CWE-327: Use of a Broken or Risky Cryptographic Algorithm

Source file

go/github.com/argoproj/argo-cd/v2/CVE-2024-31989.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Wed, 14 May 2025 12:16:16 +0000.