CVE-2023-40029: Exposure of Sensitive Information to an Unauthorized Actor
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 inkubectl.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.
References
- github.com/advisories/GHSA-fwr2-64vr-xv9m
- github.com/argoproj/argo-cd/commit/44e52c4ae76e6da1343bdd54e57a822d93549f28
- github.com/argoproj/argo-cd/commit/4b2e5b06bff2ffd8ed1970654ddd8e55fc4a41c4
- github.com/argoproj/argo-cd/commit/7122b83fc346ec2729227405a2f9c2aa84b0bf80
- github.com/argoproj/argo-cd/pull/7139
- github.com/argoproj/argo-cd/releases/tag/v2.6.15
- github.com/argoproj/argo-cd/releases/tag/v2.7.14
- github.com/argoproj/argo-cd/releases/tag/v2.8.3
- github.com/argoproj/argo-cd/security/advisories/GHSA-fwr2-64vr-xv9m
- nvd.nist.gov/vuln/detail/CVE-2023-40029
Detect and mitigate CVE-2023-40029 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 →