CVE-2023-40029

Exposure of Sensitive Information to an Unauthorized Actor in go/github.com/argoproj/argo-cd/v2

Identifiers

GHSA-fwr2-64vr-xv9m, CVE-2023-40029

Package Slug

go/github.com/argoproj/argo-cd/v2

Vulnerability

Exposure of Sensitive Information to an Unauthorized Actor

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 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.

Affected Versions

All versions starting from 2.2.0 before 2.6.15, all versions starting from 2.7.0 before 2.7.14, all versions starting from 2.8.0 before 2.8.3

Solution

Upgrade to versions 2.6.15, 2.7.14, 2.8.3 or above.

Last Modified

2023-09-12

source