
Argo CD, una herramienta ampliamente utilizada para implementar software en Kubernetes, tiene una falla sin parchear en su componente de servidor de repositorio que permite a atacantes no autenticados ejecutar código siempre que puedan llegar a los puertos de red internos del componente.
Synacktiv, que descubrió el error, dice que podría llevar a la adquisición de todo el clúster. Sin correcciones, sin CVE. La compañía dijo que informó la falla a los mantenedores de Argo CD en enero de 2025. Casi 18 meses después, el parche aún no se ha aplicado, por lo que publicamos los detalles para advertir a los usuarios.
El error existe en el servidor de repositorio, un componente de Argo CD que lee repositorios de Git y crea manifiestos de Kubernetes, archivos que definen lo que implementa el clúster.
Su servicio gRPC interno no tiene autenticación. Cualquiera que pueda acceder a él puede enviar solicitudes para ejecutar comandos. Synacktiv ha demostrado un ataque contra Argo CD v2.13.3, pero informa que no hay una versión parcheada. No se ha publicado una lista completa de las versiones afectadas.
Esta técnica explota la herramienta estándar kusTOMize que ejecuta Argo CD para convertir archivos del repositorio en manifiestos. KusTOMize tiene una opción –helm-command que apunta al binario de Helm que debe llamarse.
Synacktiv descubrió que una solicitud no autenticada al servicio GenerateManifest de un servidor de repositorio podría hacer que sus opciones se configuraran en un script recuperado de un repositorio Git controlado por un atacante. Al ejecutar kusTOMize se ejecuta un script, no helm.
Sin embargo, «interno» no significa aislado por defecto. El CD de Argo se envía con una política de red de Kubernetes que aísla el servidor del repositorio de todos los componentes excepto de sus propios componentes.
Synacktiv descubrió que el gráfico Helm, que es una forma común de instalar Argo CD, desactiva estas políticas de forma predeterminada y establece networkPolicy.create en falso. Con esta configuración, un atacante que comprometa un pod del clúster podría llegar al servidor del repositorio e introducir un error.
No se trata sólo de ejecutar código en el servidor del repositorio. Synacktiv usó ese acceso para leer la contraseña de Redis del clúster a partir de variables de entorno, conectarse al caché de Redis del CD Argo y envenenar los datos de implementación almacenados. En la siguiente sincronización automática, Argo CD implementó la carga de trabajo proporcionada por el atacante.

Este paso restablece CVE-2024-31989. CVE-2024-31989 es una falla de 2024 descubierta por Cycode en ausencia de una contraseña en Redis en Argo CD que podría permitir que los pods de un clúster envenenen la caché de implementación. Argo CD solucionó este problema agregando una contraseña de Redis, pero el caché en sí aún no está firmado, por lo que robar la contraseña repetirá el ataque nuevamente.
que hacer
No existe una versión parcheada, por lo que la defensa es el aislamiento de la red. Active la política de red de Kubernetes para permitir que solo los componentes específicos de Argo CD lleguen al servidor de repositorio y a los puertos de Redis. Argo CD proporciona archivos de políticas. Los usuarios de Helm deben habilitarlos, ya que están desactivados en los gráficos.
Compruebe cuál está activo con kubectl get networkpolicy -A. En una instalación exitosa, verá una política de red para cada componente, como el servidor de repositorio y Redis. Si faltan estas políticas, se puede acceder al servidor de repositorio y a los puertos de Redis desde el resto del clúster.
Synacktiv ha creado una herramienta, argo-cdown, que automatiza todo el ataque. Para darles tiempo a los defensores para bloquear las políticas de red, la herramienta está en espera por ahora y estará disponible públicamente en GitHub más adelante para que los administradores puedan probar sus propias implementaciones.
Esta no es la primera vez que Argo CD revela su interior. En septiembre de 2025, parcheamos CVE-2025-55190, que podría permitir que los tokens API con solo acceso de lectura básico recuperen las credenciales del repositorio Git para un proyecto. Este es un defecto que The Hacker News señaló en su momento.
En mayo de 2026, otro error, CVE-2026-42880, permitió a los usuarios de solo lectura leer secretos de Kubernetes en texto sin formato. Es difícil pasar por alto este patrón. Argo CD centraliza el acceso al clúster y los secretos del repositorio, y sus superficies internas continúan pasándolos a solicitudes no autenticadas en un error y a tokens con pocos privilegios en el siguiente.
Hasta que se distribuya un parche, la única defensa real es tratar la red del clúster como hostil.
Source link
