{
  "threat_severity" : "Critical",
  "public_date" : "2023-09-05T00:00:00Z",
  "bugzilla" : {
    "description" : "ArgoCD: secrets can be leak through kubectl.kubernetes.io/last-applied-configuration",
    "id" : "2233203",
    "url" : "https://bugzilla.redhat.com/show_bug.cgi?id=2233203"
  },
  "cvss3" : {
    "cvss3_base_score" : "9.9",
    "cvss3_scoring_vector" : "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L",
    "status" : "verified"
  },
  "details" : [ "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.", "A flaw was found in the ArgoCD package, used by Red Hat GitOps, that allows cluster secrets to be managed declaratively using the `kubectl apply` functionality, resulting in the full secret body being stored in `kubectl.kubernetes.io/last-applied-configuration` annotation. Since ArgoCD has included the ability to manage cluster labels and annotations via its API, an attacker can retrieve sensitive authentication information by leveraging this capability, imposing a high impact on data confidentiality and integrity for the targeted ArgoCD cluster. To perform a successful attack, the malicious actor should have `clusters, get` RBAC access granted to its user." ],
  "affected_release" : [ {
    "product_name" : "Red Hat OpenShift GitOps 1.8",
    "release_date" : "2023-09-08T00:00:00Z",
    "advisory" : "RHSA-2023:5030",
    "cpe" : "cpe:/a:redhat:openshift_gitops:1.8::el8",
    "package" : "openshift-gitops-1/argocd-rhel8:v1.8.5-1"
  }, {
    "product_name" : "Red Hat OpenShift GitOps 1.9",
    "release_date" : "2023-09-08T00:00:00Z",
    "advisory" : "RHSA-2023:5029",
    "cpe" : "cpe:/a:redhat:openshift_gitops:1.9::el9",
    "package" : "openshift-gitops-1/argocd-rhel8:v1.9.2-2"
  } ],
  "references" : [ "https://www.cve.org/CVERecord?id=CVE-2023-40029\nhttps://nvd.nist.gov/vuln/detail/CVE-2023-40029\nhttps://github.com/argoproj/argo-cd/security/advisories/GHSA-fwr2-64vr-xv9m" ],
  "name" : "CVE-2023-40029",
  "mitigation" : {
    "value" : "Update/deploy the cluster secret with the`server-side-apply` flag, which does not use or rely on the `kubectl.kubernetes.io/last-applied-configuration` <http://kubectl.kubernetes.io/last-applied-configuration> annotation.\nNote: Annotation for existing secrets will require manual removal.",
    "lang" : "en:us"
  },
  "csaw" : false
}