CVE-2023-40584
Denial of Service to Argo CD repo-server
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
Argo CD is a declarative continuous deployment for Kubernetes. All versions of ArgoCD starting from v2.4 have a bug where the ArgoCD repo-server component is vulnerable to a Denial-of-Service attack vector. Specifically, the said component extracts a user-controlled tar.gz file without validating the size of its inner files. As a result, a malicious, low-privileged user can send a malicious tar.gz file that exploits this vulnerability to the repo-server, thereby harming the system's functionality and availability. Additionally, the repo-server is susceptible to another vulnerability due to the fact that it does not check the extracted file permissions before attempting to delete them. Consequently, an attacker can craft a malicious tar.gz archive in a way that prevents the deletion of its inner files when the manifest generation process is completed. A patch for this vulnerability has been released in versions 2.6.15, 2.7.14, and 2.8.3. Users are advised to upgrade. The only way to completely resolve the issue is to upgrade, however users unable to upgrade should configure RBAC (Role-Based Access Control) and provide access for configuring applications only to a limited number of administrators. These administrators should utilize trusted and verified Helm charts.
Argo CD es una implementación continua declarativa para Kubernetes. Todas las versiones de ArgoCD a partir de la v2.4 tienen un error por el cual el componente del servidor de repositorio de ArgoCD es vulnerable a un vector de ataque de denegación de servicio. Específicamente, dicho componente extrae un archivo tar.gz controlado por el usuario sin validar el tamaño de sus archivos internos. Como resultado, un usuario malicioso y con pocos privilegios puede enviar un archivo tar.gz malicioso que aproveche esta vulnerabilidad al servidor de repositorio, dañando así la funcionalidad y disponibilidad del sistema. Además, el servidor del repositorio es susceptible a otra vulnerabilidad debido a que no verifica los permisos de los archivos extraídos antes de intentar eliminarlos. En consecuencia, un atacante puede crear un archivo tar.gz malicioso de manera que impida la eliminación de sus archivos internos cuando se completa el proceso de generación del manifiesto. Se lanzó un parche para esta vulnerabilidad en las versiones 2.6.15, 2.7.14 y 2.8.3. Se recomienda a los usuarios que actualicen. La única forma de resolver completamente el problema es actualizar; sin embargo, los usuarios que no puedan actualizar deben configurar RBAC (Control de Acceso Basado en Roles) y brindar acceso para configurar aplicaciones solo a un número limitado de administradores. Estos administradores deben utilizar gráficos Helm confiables y verificados.
A flaw was found in ArgoCD, where it failed to properly validate the user-controlled tar.gz file uploaded to the repo-server component. As a result, a maliciously crafted tar.gz file sent by a low-privileged user may result in resource starvation and further denial of service of the ArgoCD server. Additionally, the lack of permissions checking for the inner files in the tar.gz file may lead to an attacker creating files that cannot be further deleted from the server.
CVSS Scores
SSVC
- Decision:Track
Timeline
- 2023-08-16 CVE Reserved
- 2023-09-07 CVE Published
- 2024-09-13 EPSS Updated
- 2024-09-26 CVE Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-400: Uncontrolled Resource Consumption
CAPEC
References (4)
URL | Tag | Source |
---|
URL | Date | SRC |
---|
URL | Date | SRC |
---|---|---|
https://github.com/argoproj/argo-cd/commit/b8f92c4ff226346624f43de3f25d81dac6386674 | 2023-09-13 |
URL | Date | SRC |
---|---|---|
https://github.com/argoproj/argo-cd/security/advisories/GHSA-g687-f2gx-6wm8 | 2023-09-13 | |
https://access.redhat.com/security/cve/CVE-2023-40584 | 2023-09-08 | |
https://bugzilla.redhat.com/show_bug.cgi?id=2236530 | 2023-09-08 |
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 Continuous Delivery Search vendor "Linuxfoundation" for product "Argo Continuous Delivery" | >= 2.4.0 < 2.6.15 Search vendor "Linuxfoundation" for product "Argo Continuous Delivery" and version " >= 2.4.0 < 2.6.15" | kubernetes |
Affected
| ||||||
Linuxfoundation Search vendor "Linuxfoundation" | Argo Continuous Delivery Search vendor "Linuxfoundation" for product "Argo Continuous Delivery" | >= 2.7.0 < 2.7.14 Search vendor "Linuxfoundation" for product "Argo Continuous Delivery" and version " >= 2.7.0 < 2.7.14" | kubernetes |
Affected
| ||||||
Linuxfoundation Search vendor "Linuxfoundation" | Argo Continuous Delivery Search vendor "Linuxfoundation" for product "Argo Continuous Delivery" | >= 2.8.0 < 2.8.3 Search vendor "Linuxfoundation" for product "Argo Continuous Delivery" and version " >= 2.8.0 < 2.8.3" | kubernetes |
Affected
|