Vulnerabilidad en Argo CD (CVE-2024-21661)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-787
Escritura fuera de límites
Fecha de publicación:
18/03/2024
Última modificación:
09/01/2025
Descripción
Argo CD es una herramienta declarativa de entrega continua de GitOps para Kubernetes. Antes de las versiones 2.8.13, 2.9.9 y 2.10.4, un atacante podía explotar una falla crítica en la aplicación para iniciar un ataque de denegación de servicio (DoS), dejando la aplicación inoperable y afectando a todos los usuarios. El problema surge de la manipulación insegura de una matriz en un entorno de subprocesos múltiples. La vulnerabilidad tiene su origen en el código de la aplicación, donde se modifica una matriz mientras se itera sobre ella. Este es un error de programación clásico, pero se vuelve críticamente inseguro cuando se ejecuta en un entorno de subprocesos múltiples. Cuando dos subprocesos interactúan con la misma matriz simultáneamente, la aplicación falla. Esta es una vulnerabilidad de denegación de servicio (DoS). Cualquier atacante puede bloquear la aplicación continuamente, imposibilitando que los usuarios legítimos accedan al servicio. El problema se agrava porque no requiere autenticación, lo que amplía el grupo de atacantes potenciales. Las versiones 2.8.13, 2.9.9 y 2.10.4 contienen un parche para este problema.
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:argoproj:argo_cd:*:*:*:*:*:*:*:* | 2.8.13 (excluyendo) | |
cpe:2.3:a:argoproj:argo_cd:*:*:*:*:*:*:*:* | 2.9.0 (incluyendo) | 2.9.9 (excluyendo) |
cpe:2.3:a:argoproj:argo_cd:*:*:*:*:*:*:*:* | 2.10.0 (incluyendo) | 2.10.4 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://github.com/argoproj/argo-cd/blob/54601c8fd30b86a4c4b7eb449956264372c8bde0/util/session/sessionmanager.go#L302-L311
- https://github.com/argoproj/argo-cd/commit/2a22e19e06aaf6a1e734443043310a66c234e345
- https://github.com/argoproj/argo-cd/commit/5bbb51ab423f273dda74ab956469843d2db2e208
- https://github.com/argoproj/argo-cd/commit/ce04dc5c6f6e92033221ec6d96b74403b065ca8b
- https://github.com/argoproj/argo-cd/security/advisories/GHSA-6v85-wr92-q4p7
- https://github.com/argoproj/argo-cd/blob/54601c8fd30b86a4c4b7eb449956264372c8bde0/util/session/sessionmanager.go#L302-L311
- https://github.com/argoproj/argo-cd/commit/2a22e19e06aaf6a1e734443043310a66c234e345
- https://github.com/argoproj/argo-cd/commit/5bbb51ab423f273dda74ab956469843d2db2e208
- https://github.com/argoproj/argo-cd/commit/ce04dc5c6f6e92033221ec6d96b74403b065ca8b
- https://github.com/argoproj/argo-cd/security/advisories/GHSA-6v85-wr92-q4p7