CVE-2022-29165: Argo CD JWT Impersonation Vulnerability

Summary

24/05/2022
Yes i
Critical
10.0

CVE-2022-29165: Argo CD will blindly trust JWT claims if anonymous access is enabled. Affects github.com/argoproj/argo-cd/v2 across 3 version ranges.

< 2.1.15 >= 2.2.0, < 2.2.9 >= 2.3.0, < 2.3.4

Fixed in 2.1.15, 2.2.9 or 2.3.4, depending on the release line you run. How to fix ↓

Also tracked for

The same CVE-2022-29165 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

Argo CD is an open-source continuous delivery tool for Kubernetes. It provides a declarative approach to managing Kubernetes applications and configurations. Argo CD allows users to deploy, manage, and monitor applications in a GitOps manner. The vulnerability in Argo CD allows unauthenticated users to impersonate any Argo CD user or role by exploiting a flaw in the handling of JSON Web Tokens (JWTs). This vulnerability can be exploited if anonymous access to the Argo CD instance is enabled.

Vulnerability Detail

The vulnerability in Argo CD allows an attacker to impersonate any user or role, including the built-in 'admin' account, by sending a specially crafted JWT along with the request. This can be done even if the targeted account is disabled. The attacker does not need an account on the Argo CD instance to exploit this vulnerability. If anonymous access is enabled, the attacker can escalate their privileges and gain cluster admin privileges, allowing them to create, manipulate, and delete any resource on the cluster. The attacker can also exfiltrate data by deploying malicious workloads with elevated privileges, bypassing any redaction of sensitive data enforced by the Argo CD API.

How To Fix

Latest published version: v2.14.21 as of 22 Oct 2026

go get github.com/argoproj/argo-cd/v2@v2.14.21

Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.

If you can't move to the latest

The minimum fixed version depends on the release line you run.

  • < 2.1.15 2.1.15
    go get github.com/argoproj/argo-cd/v2@v2.1.15
  • >= 2.2.0, < 2.2.9 2.2.9
    go get github.com/argoproj/argo-cd/v2@v2.2.9
  • >= 2.3.0, < 2.3.4 2.3.4
    go get github.com/argoproj/argo-cd/v2@v2.3.4

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Workaround

If you are unable to upgrade to a patched version quickly, you can disable anonymous access to the Argo CD instance. To check if anonymous access is enabled, run the following command:

kubectl get -n argocd cm argocd-cm -o jsonpath='{.data.users\.anonymous\.enabled}'

If the result is 'true', your instance is vulnerable. To disable anonymous access, patch the 'argocd-cm' ConfigMap by either removing the 'users.anonymous.enabled' field or setting it to 'false'.

To set the field to 'false':

kubectl patch -n argocd cm argocd-cm --type=json -p='[{"op":"add", "path":"/data/users.anonymous.enabled", "value":"false"}]'

To remove the field completely:

kubectl patch -n argocd cm argocd-cm --type=json -p='[{"op":"remove", "path":"/data/users.anonymous.enabled"}]'

Disabling anonymous access will mitigate the vulnerability until an upgrade can be performed.

Conclusion

The Argo CD JWT Impersonation vulnerability allows unauthenticated users to impersonate any user or role in an Argo CD instance. This can lead to privilege escalation and unauthorized access to cluster resources. It is crucial to update Argo CD to a patched version or disable anonymous access to mitigate this vulnerability. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for github.com/argoproj/argo-cd/v2 →

Share this vulnerability

FAQ

Argo CD is an open-source continuous delivery tool for Kubernetes. It allows users to deploy, manage, and monitor applications in a GitOps manner.

The vulnerability allows unauthenticated users to impersonate any Argo CD user or role, including the 'admin' account. This can lead to privilege escalation and unauthorized access to cluster resources.

No, the attacker does not need an account on the Argo CD instance to exploit this vulnerability.

You can run the following command to check if anonymous access is enabled:

kubectl get -n argocd cm argocd-cm -o jsonpath='{.data.users\.anonymous\.enabled}'

If the result is 'true', anonymous access is enabled.

If upgrading is not feasible immediately, it is recommended to disable anonymous access to the Argo CD instance. Instructions for disabling anonymous access can be found in the 'Workarounds' section above.

Related vulnerabilities

Recent vulnerabilities recorded for github.com/argoproj/argo-cd/v2.

How To Fix

Latest published version: v2.14.21 as of 22 Oct 2026

go get github.com/argoproj/argo-cd/v2@v2.14.21

Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.

If you can't move to the latest

The minimum fixed version depends on the release line you run.

  • < 2.1.15 2.1.15
    go get github.com/argoproj/argo-cd/v2@v2.1.15
  • >= 2.2.0, < 2.2.9 2.2.9
    go get github.com/argoproj/argo-cd/v2@v2.2.9
  • >= 2.3.0, < 2.3.4 2.3.4
    go get github.com/argoproj/argo-cd/v2@v2.3.4

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback