
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-45737 is an information disclosure vulnerability in Argo CD's ServerSideDiff feature that exposes Kubernetes Secret values embedded in the kubectl.kubernetes.io/last-applied-configuration annotation. It affects Argo CD versions 3.2.0 through 3.2.11, 3.3.9, and 3.4.1, and is described as an incomplete fix for a prior advisory (GHSA-3v3m-wc6v-x4x3). The vulnerability was published on May 19, 2026, with patches released in versions 3.2.12, 3.3.10, and 3.4.2. It carries a CVSS v3.1 base score of 6.3–6.5 (Medium) depending on the scoring source (GitHub Advisory).
The root cause is classified under CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) and CWE-212 (Improper Removal of Sensitive Information Before Storage or Transfer). When Argo CD performs a server-side diff, the serverSideDiff() function calls HideSecretData(target, live, ...), but this function only sanitizes the live argument — not the predictedLive object, which is derived from a Kubernetes server-side dry-run. Because Kubernetes dry-run returns a full predicted live Secret object that carries forward existing live annotations (including kubectl.kubernetes.io/last-applied-configuration), the predictedLive object can contain a JSON-serialized Secret manifest with raw data, stringData, and sensitive annotation values that are never masked before being returned in UI or CLI diff output. The fix removes the kubectl.kubernetes.io/last-applied-configuration annotation from both predictedLive and live objects before comparison, and applies HideSecretData to both sides (GitHub Advisory, Patch Commit).
An authenticated Argo CD user with permission to view application diffs can read plaintext Kubernetes Secret values — including data fields (base64-encoded), stringData fields, and sensitive annotations — that should be masked. This is a confidentiality-only impact with no integrity or availability consequences, but exposed secrets (API keys, passwords, tokens) could enable lateral movement or privilege escalation within the Kubernetes cluster or connected systems. The scope is limited to secrets managed by Argo CD applications where client-side apply was previously used, as those secrets carry the last-applied-configuration annotation (GitHub Advisory).
A proof-of-concept is publicly available in the official GitHub Security Advisory, which includes a complete step-by-step reproduction using a specific Secret manifest, an Argo CD Application configuration, and the exact CLI command to trigger the leak. There is no evidence of in-the-wild exploitation at this time, and the vulnerability is not listed in the CISA KEV catalog. The EPSS score is approximately 0.034% (very low probability of exploitation in the near term), and NVD classifies the exploitation status as "poc" with technical impact rated "partial" (GitHub Advisory).
kubectl apply (client-side apply), which causes the kubectl.kubernetes.io/last-applied-configuration annotation to be stored on the live Secret.ServerSideDiff=true configured (either via the argocd.argoproj.io/compare-options annotation or globally), or use the --server-side-diff flag in the CLI.argocd app diff <app-name> --server-side-diff --exit-code=false via the CLI, or navigate to the application diff view in the Argo CD UI.kubectl.kubernetes.io/last-applied-configuration annotation on the predictedLive side will contain a JSON-serialized Secret manifest with unmasked data (base64-encoded), stringData, and annotation values, revealing the raw secret content (GitHub Advisory).ResourceDiff or app diff endpoints with serverSideDiff=true parameters from unexpected users or service accounts; audit logs showing unusual access to application diff views for Secret-containing applications.Upgrade Argo CD to a patched version: 3.2.12, 3.3.10, or 3.4.2 depending on your current release branch. The fix removes the kubectl.kubernetes.io/last-applied-configuration annotation from both predictedLive and live objects before diff comparison, and applies HideSecretData symmetrically to both sides for core/v1 Secrets. If immediate patching is not possible, restrict access to the Argo CD UI and CLI to only trusted users with a legitimate need to view application diffs, and audit which users have access to applications managing Kubernetes Secrets (GitHub Advisory, Patch Commit).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."