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.
Information written to log files can be of a sensitive nature and give valuable guidance to an attacker or expose sensitive user information.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Argo_cd | Argoproj | 2.2.0 (including) | 2.6.15 (excluding) |
Argo_cd | Argoproj | 2.7.0 (including) | 2.7.14 (excluding) |
Argo_cd | Argoproj | 2.8.0 (including) | 2.8.3 (excluding) |
Red Hat OpenShift GitOps 1.8 | RedHat | openshift-gitops-1/argocd-rhel8:v1.8.5-1 | * |
Red Hat OpenShift GitOps 1.9 | RedHat | openshift-gitops-1/argocd-rhel8:v1.9.2-2 | * |
While logging all information may be helpful during development stages, it is important that logging levels be set appropriately before a product ships so that sensitive user data and system information are not accidentally exposed to potential attackers. Different log files may be produced and stored for: