CVE-2022-29165
Argo CD will blindly trust JWT claims if anonymous access is enabled
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
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.
Argo CD es una herramienta declarativa de entrega continua GitOps para Kubernetes. Se ha detectado una vulnerabilidad crítica en Argo CD a partir de la versión 1.4.0 y versiones anteriores a 2.1.15, 2.2.9 y 2.3.4 que permitiría a usuarios no autenticados hacerse pasar por cualquier usuario o rol de Argo CD, incluido el usuario "admin", mediante el envío de un Token Web JSON (JWT) específicamente diseñado junto con la petición. Para que esta vulnerabilidad pueda ser explotada, el acceso anónimo a la instancia de CD Argo debe estar habilitado. En una instalación por defecto de Argo CD, el acceso anónimo está deshabilitado. La vulnerabilidad puede ser explotada para hacerse pasar por cualquier usuario o rol, incluyendo la cuenta "admin" incorporada, independientemente de si está habilitada o deshabilitada. Además, el atacante no necesita una cuenta en la instancia de CD Argo para poder explotar esto. Si el acceso anónimo a la instancia está habilitado, un atacante puede escalar sus privilegios, permitiéndole alcanzar los mismos privilegios en el cluster que la instancia de CD Argo, que es el administrador del cluster en una instalación por defecto. Esto permitirá al atacante crear, manipular y eliminar cualquier recurso en el clúster. También pueden exfiltrar datos al desplegar cargas de trabajo maliciosas con privilegios elevados, eludiendo así cualquier redacción de datos confidenciales que la API de CD de Argo pueda aplicar. Ha sido publicado un parche para esta vulnerabilidad en las versiones 2.3.4, 2.2.9 y 2.1.15 del CD Argo. Como mitigación, puede deshabilitarse el acceso anónimo, pero es preferible actualizar a una versión parcheada
A flaw was found in the ArgoCD component of Red Hat GitOps, where an unauthenticated attacker can craft a malicious JWT token while ArgoCD's anonymous access is enabled and gains full access to the ArgoCD instance. This flaw allows the attacker to impersonate any ArgoCD user or role, fully compromising the targeted cluster's confidentiality, integrity, and availability.
CVSS Scores
SSVC
- Decision:-
Timeline
- 2022-04-13 CVE Reserved
- 2022-05-19 CVE Published
- 2024-08-03 CVE Updated
- 2024-08-11 EPSS Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
- CWE-287: Improper Authentication
- CWE-290: Authentication Bypass by Spoofing
- CWE-551: Incorrect Behavior Order: Authorization Before Parsing and Canonicalization
CAPEC
References (6)
URL | Tag | Source |
---|---|---|
https://github.com/argoproj/argo-cd/releases/tag/v2.1.15 | Release Notes | |
https://github.com/argoproj/argo-cd/releases/tag/v2.2.9 | Release Notes | |
https://github.com/argoproj/argo-cd/releases/tag/v2.3.4 | Release Notes | |
https://github.com/argoproj/argo-cd/security/advisories/GHSA-r642-gv9p-2wjj | Mitigation |
URL | Date | SRC |
---|
URL | Date | SRC |
---|
URL | Date | SRC |
---|---|---|
https://access.redhat.com/security/cve/CVE-2022-29165 | 2022-05-18 | |
https://bugzilla.redhat.com/show_bug.cgi?id=2081686 | 2022-05-18 |
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Linuxfoundation Search vendor "Linuxfoundation" | Argo-cd Search vendor "Linuxfoundation" for product "Argo-cd" | >= 1.4.0 < 2.1.15 Search vendor "Linuxfoundation" for product "Argo-cd" and version " >= 1.4.0 < 2.1.15" | - |
Affected
| ||||||
Linuxfoundation Search vendor "Linuxfoundation" | Argo-cd Search vendor "Linuxfoundation" for product "Argo-cd" | >= 2.2.0 < 2.2.9 Search vendor "Linuxfoundation" for product "Argo-cd" and version " >= 2.2.0 < 2.2.9" | - |
Affected
| ||||||
Linuxfoundation Search vendor "Linuxfoundation" | Argo-cd Search vendor "Linuxfoundation" for product "Argo-cd" | >= 2.3.0 < 2.3.4 Search vendor "Linuxfoundation" for product "Argo-cd" and version " >= 2.3.0 < 2.3.4" | - |
Affected
|