Skip to main content
← All vulnerabilities
CVE-2023-23947GO-2023-1577GHSA-3JFQ-742W-XG8J

Argo CD users with any cluster secret update access may update out-of-bounds cluster secrets

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.3.17, 2.4.23, 2.5.11, 2.6.2
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. All Argo CD versions starting with 2.3.0-rc1 and prior to 2.3.17, 2.4.23 2.5.11, and 2.6.2 are vulnerable to an improper authorization bug which allows users who have the ability to update at least one cluster secret to update any cluster secret. The attacker could use this access to escalate privileges (potentially controlling Kubernetes resources) or to break Argo CD functionality (by preventing connections to external clusters). A patch for this vulnerability has been released in Argo CD versions 2.6.2, 2.5.11, 2.4.23, and 2.3.17. Two workarounds are available. Either modify the RBAC configuration to completely revoke all `clusters, update` access, or use the `destinations` and `clusterResourceWhitelist` fields to apply similar restrictions as the `namespaces` and `clusterResources` fields.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • argoproj argo-cd

    From 2.3.0-rc1 · fixed in 2.3.17; From 2.4.0 · fixed in 2.4.23; From 2.5.0 · fixed in 2.5.11; From 2.6.0 · fixed in 2.6.2

  • github.com/argoproj/argo-cdGo

    All versions

  • github.com/argoproj/argo-cd/v2Go

    From 2.3.0 · fixed in 2.3.17; From 2.4.0 · fixed in 2.4.23; From 2.5.0 · fixed in 2.5.11; From 2.6.0 · fixed in 2.6.2

  • github.com/argoproj/argo-cdGo

    From 2.3.0 · fixed in 2.3.17

  • github.com/argoproj/argo-cdGo

    From 2.4.0 · fixed in 2.4.23

  • github.com/argoproj/argo-cdGo

    From 2.5.0 · fixed in 2.5.11

  • github.com/argoproj/argo-cdGo

    From 2.6.0 · fixed in 2.6.2

References 2

GitHub · argoproj/argo-cd