← Back to browse · API

CVE-2023-40029

Severity
CRITICAL
CVSS
9.9
EPSS
0.00975
Risk score
39.94
CISA KEV
No
PoC
No
Published
2023-09-07
Modified
2024-09-26
First seen
2026-08-07
Aliases
EUVD-2023-2497, GHSA-FWR2-64VR-XV9M
Products
argoproj:argo-cd 2.2.0, < 2.6.15, argoproj:argo-cd 2.7.0, < 2.7.14, argoproj:argo-cd 2.8.0, < 2.8.3
Sources
euvd EUVD-2023-2497

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.

References