Google Cloud ha solventado una falla de seguridad de gravedad media en su plataforma que tenía el potencial de ser aprovechada por un atacante que ya contara con acceso a un clúster de Kubernetes para aumentar sus privilegios.

“La compañía anunció el 14 de diciembre de 2023 que ha abordado una vulnerabilidad de gravedad media relacionada con el contenedor de registro de Fluent Bit en su plataforma. Según la compañía, un atacante que haya comprometido dicho contenedor podría aprovechar este acceso junto con los altos privilegios requeridos por Anthos Service Mesh (en clústeres que tengan habilitada esta función) para elevar sus privilegios dentro del clúster”.

“Palo Alto Networks, a través de su Unidad 42, fue la entidad que descubrió y reportó esta deficiencia. Se señala que los adversarios podrían emplear esta vulnerabilidad como una herramienta para llevar a cabo acciones como el robo de datos, el despliegue de cápsulas maliciosas y la interrupción de las operaciones del clúster”.

Hasta la fecha del aviso, no se ha encontrado evidencia de que la vulnerabilidad haya sido explotada en entornos reales. La solución se implementó en las versiones siguientes de Google Kubernetes Engine (GKE) y Anthos Service Mesh (ASM):

  • 1.25.16-gke.1020000
  • 1.26.10-gke.1235000
  • 1.27.7-gke.1293000
  • 1.28.4-gke.1083000
  • 1.17.8-asamb.8
  • 1.18.6-ensam.2
  • 1.19.5-ensam.4

“Es importante destacar que la explotación efectiva de esta vulnerabilidad requiere que el atacante haya comprometido previamente un contenedor FluentBit a través de otros métodos de acceso inicial, como una falla de ejecución remota de código”.

“Google explicó que GKE utiliza Fluent Bit para gestionar registros de las cargas de trabajo en los clústeres. Además, se configuró Fluent Bit en GKE para recolectar registros de las cargas de trabajo de Cloud Run. La configuración del volumen destinado a recopilar estos registros otorgó a Fluent Bit acceso a los tokens de la cuenta de servicio de Kubernetes para otros Pods que se ejecutan en el nodo”.

“Este escenario implicaba que un actor malintencionado podría aprovechar dicho acceso para obtener privilegios en un clúster de Kubernetes con ASM habilitado. Luego, utilizando el token de cuenta de servicio de ASM, podría escalar sus privilegios mediante la creación de un nuevo pod con privilegios de administrador de clúster”.

El investigador de seguridad Shaul Ben Hai identificó la cuenta de servicio clusterrole-aggregation-controller (CRAC) como la principal candidata, ya que puede agregar permisos arbitrarios a las funciones del clúster existentes. Ben Hai señaló que un atacante podría actualizar la función del clúster vinculada a CRAC para adquirir todos los privilegios.

“Como medidas correctivas, Google eliminó el acceso de Fluent Bit a los tokens de la cuenta de servicio y rediseñó la funcionalidad de ASM para eliminar permisos excesivos de control de acceso basado en roles (RBAC). Ben Hai concluyó destacando que los proveedores de nube generan automáticamente módulos de sistema cuando se lanza un clúster, integrándolos en la infraestructura de Kubernetes. Estos módulos, al igual que los pods complementarios creados al habilitar una función, suelen ser gestionados por los proveedores y pueden representar riesgos significativos al ejecutarse con privilegios elevados, sin que el usuario tenga control sobre su configuración o permisos”.

Conclusiones:

  1. Vulnerabilidad Significativa:
    • La vulnerabilidad descubierta en Fluent Bit representaba una amenaza significativa para los clústeres de Kubernetes, especialmente aquellos que tenían habilitado Anthos Service Mesh (ASM).
  2. Potencial de Escalada de Privilegios:
    • La explotación exitosa de la vulnerabilidad permitiría a un atacante escalar sus privilegios en el clúster, aprovechando el acceso comprometido al contenedor Fluent Bit y los altos privilegios requeridos por ASM.
  3. Amenazas Identificadas:
    • La posibilidad de robo de datos, despliegue de cápsulas maliciosas y la interrupción de operaciones del clúster eran algunas de las amenazas identificadas en relación con esta vulnerabilidad.
  4. Integración con CRAC:
    • La cuenta de servicio clusterrole-aggregation-controller (CRAC) fue señalada como un punto crítico que un atacante podría explotar para agregar permisos arbitrarios a las funciones existentes del clúster.

Recomendaciones:

  1. Aplicar Actualizaciones:
    • Se recomienda implementar de inmediato las versiones parcheadas de Google Kubernetes Engine (GKE) y Anthos Service Mesh (ASM) mencionadas en el aviso para mitigar la vulnerabilidad.
  2. Monitorizar y Auditar:
    • Establecer un sistema robusto de monitoreo y auditoría para detectar posibles actividades sospechosas y anomalías en el tráfico de registros y en el acceso a cuentas de servicio.
  3. Limitar Privilegios:
    • Evaluar y reducir los privilegios otorgados a los contenedores y cuentas de servicio, asegurándose de que solo tengan acceso a los recursos y permisos necesarios para sus funciones específicas.
  4. Revisar Configuraciones de RBAC:
    • Revisar y ajustar las configuraciones de Control de Acceso Basado en Roles (RBAC) para garantizar que los permisos asignados sean mínimos y necesarios para las cargas de trabajo.
  5. Conciencia de Seguridad:
    • Reforzar la conciencia de seguridad entre los equipos de desarrollo y operaciones, destacando las mejores prácticas y la importancia de la seguridad desde el diseño hasta la implementación.
  6. Seguimiento de Parches y Actualizaciones:
    • Mantenerse informado sobre las actualizaciones de seguridad y parches proporcionados por proveedores de servicios en la nube y comunidades de código abierto, y aplicarlos de manera regular.
  7. Evaluación de Riesgos:
    • Realizar evaluaciones periódicas de riesgos para identificar posibles vulnerabilidades y asegurarse de que las medidas de seguridad estén actualizadas y alineadas con las mejores prácticas de la industria.

fuente: thehackernews