CVE-2023-40029

Critical

Description

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.

SeverityCritical
CVSS9.9
Exploit probability—
ProductArgoproj Argo Cd
PublishedSep 7, 2023
First seenSep 7, 2023

How to fix

Update
  • argoproj argo_cd2.6.15, 2.7.14, 2.8.3 or later
  • github.com/argoproj/argo-cd/v22.6.15, 2.7.14, 2.8.3 or later

Affected products

ProductAffected versionsFixed in
argoproj argo_cd2.2.0 ≤ v < 2.6.15, 2.7.0 ≤ v < 2.7.14, 2.8.0 ≤ v < 2.8.32.6.15, 2.7.14, 2.8.3
github.com/argoproj/argo-cd/v2Go2.2.0 ≤ v < 2.6.15, 2.7.0 ≤ v < 2.7.14, 2.8.0 ≤ v < 2.8.32.6.15, 2.7.14, 2.8.3
github.com/argoproj/argo-cdGoNo range specified—

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.