Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/vulndb: potential Go vuln in github.com/argoproj/argo-cd: CVE-2022-29165 #455

Closed
GoVulnBot opened this issue May 20, 2022 · 3 comments
Labels
excluded: EFFECTIVELY_PRIVATE This vulnerability exists in a package can be imported, but isn't meant to be outside that module.

Comments

@GoVulnBot
Copy link

CVE-2022-29165 references github.com/argoproj/argo-cd, which may be a Go module.

Description:
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. A critical vulnerability has been discovered in Argo CD starting with version 1.4.0 and prior to versions 2.1.15, 2.2.9, and 2.3.4 which would allow unauthenticated users to impersonate as any Argo CD user or role, including the admin user, by sending a specifically crafted JSON Web Token (JWT) along with the request. In order for this vulnerability to be exploited, anonymous access to the Argo CD instance must have been enabled. In a default Argo CD installation, anonymous access is disabled. The vulnerability can be exploited to impersonate as any user or role, including the built-in admin account regardless of whether it is enabled or disabled. Also, the attacker does not need an account on the Argo CD instance in order to exploit this. If anonymous access to the instance is enabled, an attacker can escalate their privileges, effectively allowing them to gain the same privileges on the cluster as the Argo CD instance, which is cluster admin in a default installation. This will allow the attacker to create, manipulate and delete any resource on the cluster. They may also exfiltrate data by deploying malicious workloads with elevated privileges, thus bypassing any redaction of sensitive data otherwise enforced by the Argo CD API. A patch for this vulnerability has been released in Argo CD versions 2.3.4, 2.2.9, and 2.1.15. As a workaround, one may disable anonymous access, but upgrading to a patched version is preferable.

Links:

See doc/triage.md for instructions on how to triage this report.

module: github.com/argoproj/argo-cd
package: argo-cd
description: |
    Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. A critical vulnerability has been discovered in Argo CD starting with version 1.4.0 and prior to versions 2.1.15, 2.2.9, and 2.3.4 which would allow unauthenticated users to impersonate as any Argo CD user or role, including the `admin` user, by sending a specifically crafted JSON Web Token (JWT) along with the request. In order for this vulnerability to be exploited, anonymous access to the Argo CD instance must have been enabled. In a default Argo CD installation, anonymous access is disabled. The vulnerability can be exploited to impersonate as any user or role, including the built-in `admin` account regardless of whether it is enabled or disabled. Also, the attacker does not need an account on the Argo CD instance in order to exploit this. If anonymous access to the instance is enabled, an attacker can escalate their privileges, effectively allowing them to gain the same privileges on the cluster as the Argo CD instance, which is cluster admin in a default installation. This will allow the attacker to create, manipulate and delete any resource on the cluster. They may also exfiltrate data by deploying malicious workloads with elevated privileges, thus bypassing any redaction of sensitive data otherwise enforced by the Argo CD API. A patch for this vulnerability has been released in Argo CD versions 2.3.4, 2.2.9, and 2.1.15. As a workaround, one may disable anonymous access, but upgrading to a patched version is preferable.
cves:
  - CVE-2022-29165
links:
    context:
      - https://github.com/argoproj/argo-cd/releases/tag/v2.1.15
      - https://github.com/argoproj/argo-cd/releases/tag/v2.2.9
      - https://github.com/argoproj/argo-cd/releases/tag/v2.3.4
      - https://github.com/argoproj/argo-cd/security/advisories/GHSA-r642-gv9p-2wjj

@neild
Copy link
Contributor

neild commented Jun 14, 2022

Vulnerability in tool.

@neild neild closed this as completed Jun 14, 2022
@neild neild added excluded: EFFECTIVELY_PRIVATE This vulnerability exists in a package can be imported, but isn't meant to be outside that module. and removed NotGoVuln labels Aug 10, 2022
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/592768 mentions this issue: data/reports: unexclude 50 reports

@gopherbot
Copy link
Contributor

Change https://go.dev/cl/607218 mentions this issue: data/reports: unexclude 20 reports (16)

gopherbot pushed a commit that referenced this issue Aug 21, 2024
  - data/reports/GO-2022-0407.yaml
  - data/reports/GO-2022-0410.yaml
  - data/reports/GO-2022-0413.yaml
  - data/reports/GO-2022-0416.yaml
  - data/reports/GO-2022-0418.yaml
  - data/reports/GO-2022-0424.yaml
  - data/reports/GO-2022-0426.yaml
  - data/reports/GO-2022-0429.yaml
  - data/reports/GO-2022-0440.yaml
  - data/reports/GO-2022-0442.yaml
  - data/reports/GO-2022-0447.yaml
  - data/reports/GO-2022-0448.yaml
  - data/reports/GO-2022-0449.yaml
  - data/reports/GO-2022-0450.yaml
  - data/reports/GO-2022-0451.yaml
  - data/reports/GO-2022-0452.yaml
  - data/reports/GO-2022-0453.yaml
  - data/reports/GO-2022-0454.yaml
  - data/reports/GO-2022-0455.yaml
  - data/reports/GO-2022-0456.yaml

Updates #407
Updates #410
Updates #413
Updates #416
Updates #418
Updates #424
Updates #426
Updates #429
Updates #440
Updates #442
Updates #447
Updates #448
Updates #449
Updates #450
Updates #451
Updates #452
Updates #453
Updates #454
Updates #455
Updates #456

Change-Id: I206c09343a83edd1fd9f1a37410a59391d904c6d
Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/607218
Reviewed-by: Damien Neil <[email protected]>
Auto-Submit: Tatiana Bradley <[email protected]>
LUCI-TryBot-Result: Go LUCI <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
excluded: EFFECTIVELY_PRIVATE This vulnerability exists in a package can be imported, but isn't meant to be outside that module.
Projects
None yet
Development

No branches or pull requests

3 participants