Cluster secret might leak in cluster details page in Argo CD
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 2.6.15, 2.7.14, 2.8.3
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 1 proof of concept on GitHub
- Exploitation: poc
- Automatable: no
- Technical impact: total
Summary
Argo CD is a declarative continuous deployment for Kubernetes. Argo CD Cluster secrets might be managed declaratively using Argo CD / kubectl apply. As a result, the full secret body is stored in`kubectl.kubernetes.io/last-applied-configuration` annotation. pull request #7139 introduced the ability to manage cluster labels and annotations. Since clusters are stored as secrets it also exposes the `kubectl.kubernetes.io/last-applied-configuration` annotation which includes full secret body. In order to view the cluster annotations via the Argo CD API, the user must have `clusters, get` RBAC access. Note: In many cases, cluster secrets do not contain any actually-secret information. But sometimes, as in bearer-token auth, the contents might be very sensitive. The bug has been patched in versions 2.8.3, 2.7.14, and 2.6.15. Users are advised to upgrade. Users unable to upgrade should update/deploy cluster secret with `server-side-apply` flag which does not use or rely on `kubectl.kubernetes.io/last-applied-configuration` annotation. Note: annotation for existing secrets will require manual removal.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: poc · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- argoproj argo-cd
From 2.2.0 · fixed in 2.6.15; From 2.7.0 · fixed in 2.7.14; From 2.8.0 · fixed in 2.8.3
- github.com/argoproj/argo-cdGo
All versions
- github.com/argoproj/argo-cd/v2Go
From 2.2.0 · fixed in 2.6.15; From 2.7.0 · fixed in 2.7.14; From 2.8.0 · fixed in 2.8.3
- github.com/argoproj/argo-cd/v2Go
From 2.2.0 · fixed in 2.6.15
- github.com/argoproj/argo-cd/v2Go
From 2.7.0 · fixed in 2.7.14
- github.com/argoproj/argo-cd/v2Go
From 2.8.0 · fixed in 2.8.3