GHSA-fwr2-64vr-xv9mCriticalCVSS 9.9

Argo CD cluster secret might leak in cluster details page

Published
September 11, 2023
Last Modified
November 5, 2023

🔗 CVE IDs covered (1)

📋 Description

Impact

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.

https://github.com/argoproj/argo-cd/pull/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.

Patches

The bug has been patched in the following versions:

  • 2.8.3
  • 2.7.14
  • 2.6.15

Workarounds

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.

For more information

🎯 Affected products3

  • go/github.com/argoproj/argo-cd/v2:>= 2.2.0, < 2.6.15
  • go/github.com/argoproj/argo-cd/v2:>= 2.7.0, < 2.7.14
  • go/github.com/argoproj/argo-cd/v2:>= 2.8.0, < 2.8.3

🔗 References (10)