El 30 de abril, se lanzó una nueva versión de los clústeres de Anthos en AWS (GKE en AWS). Consulta las notas de la versión para obtener más información.

Boletines de seguridad

Obtén información sobre los boletines de seguridad de clústeres de Anthos alojados en AWS (GKE en AWS).

Usa este feed XML para suscribirte a los boletines de seguridad de clústeres de Anthos alojados en VMware. Suscribirse

GCP-2021-003

Fecha de publicación: 19 de abril de 2021
Descripción Gravedad Notas

El proyecto de Kubernetes anunció recientemente una nueva vulnerabilidad de seguridad, CVE-2021-25735, que podría permitir que las actualizaciones del nodo omitan un webhook de admisión y validación.

En una situación en la que un atacante tiene privilegios suficientes y en la que se implementa un webhook de admisión y validación que usa propiedades del objeto Node antiguas (por ejemplo, campos en Node.NodeSpec), el atacante podría actualizar las propiedades de un nodo que podría provocar el compromiso del clúster. Ninguna de las políticas que aplican los controladores de admisión integrados de GKE y Kubernetes se ve afectada, pero recomendamos que los clientes verifiquen cualquier webhook de admisión adicional que hayan instalado.

¿Qué debo hacer?

En una versión de parche próxima, se incluirá una mitigación para esta vulnerabilidad.

Medio

CVE-2021-25735

GCP-2021-001

Fecha de publicación: 2021-01-28
Descripción Gravedad Notas

Recientemente, se descubrió una vulnerabilidad en la utilidad sudo de Linux, descrita en CVE-2021-3156, que puede permitir a un atacante con acceso de shell local sin privilegios en un sistema con sudo instalado escalar sus privilegios a la raíz del sistema.

Clústeres de Anthos alojados en VMware no se ve afectado por esta vulnerabilidad:

  • Los usuarios que están autorizados a usar nodos de clústeres de Anthos alojados en AWS ya se consideran que tienen privilegios elevados y pueden usar sudo para obtener privilegios raíz de diseño. La vulnerabilidad no produce rutas de elevación de privilegios adicionales en esta situación.
  • La mayoría de los contenedores del sistema de clústeres de Anthos alojados en contenedores de AWS se compilan a partir de imágenes base diferenciadas que no tienen una shell o una instalada. Otras imágenes se compilan a partir de una imagen base de debian que no contiene sudo. Incluso si sudo estaba presente, el acceso a sudo dentro del contenedor no te otorga acceso al host debido al límite del contenedor.

Esta vulnerabilidad se puede usar en contenedores de aplicaciones del cliente para escalar privilegios a permisos de administrador dentro del contenedor. Si el contenedor de tu aplicación está diseñado para ejecutarse como no raíz, considera actualizar tu imagen base de contenedor a una versión que contenga la corrección.

¿Qué debo hacer?

Debido a que clústeres de Anthos alojados en AWS no se ve afectado por esta vulnerabilidad, no es necesario que realices ninguna otra acción.

clústeres de Anthos alojados en AWS tendrá el parche para esta vulnerabilidad aplicado en una versión futura con cadencia regular.

Ninguna CVE-2021-3156

GCP-2020-015

Fecha de publicación: 07-12-2020
Descripción Gravedad Notas

El proyecto de Kubernetes descubrió recientemente una nueva vulnerabilidad de seguridad, CVE-2020-8554, que puede permitir que un atacante que haya obtenido permisos cree un servicio de Kubernetes de tipo LoadBalancer o ClusterIP para interceptar el tráfico de red que se origina desde otros pods del clúster.

Esta vulnerabilidad por sí sola no otorga permisos a un atacante para crear un servicio de Kubernetes.

Todos los clústeres de Anthos alojados en AWS se ven afectados por esta vulnerabilidad.

¿Qué debo hacer?

Es posible que Kubernetes deba realizar cambios de diseño incompatibles con versiones anteriores en una versión futura para solucionar la vulnerabilidad.

Si muchos usuarios comparten el acceso a tu clúster con permisos para crear servicios, como en un clúster multiusuario, considera aplicar una mitigación mientras tanto. Por ahora, el mejor enfoque para la mitigación es restringir el uso de IP externas en un clúster. ExternalIPs no es una función de uso general.

Restringe el uso de ExternalIPs en un clúster con uno de los siguientes métodos:
  1. Usa el controlador de políticas de Anthos o Gatekeeper con esta plantilla de restricciones y aplícala. Por ejemplo:
    
    # Only allow the creation of Services with no
    # ExternalIP or an ExternalIP of 203.0.113.1:
    
    apiVersion: constraints.gatekeeper.sh/v1beta1
    kind: K8sExternalIPs
    metadata:
      name: external-ips
    spec:
      match:
        kinds:
          - apiGroups: [""]
            kinds: ["Service"]
      parameters:
        allowedIPs:
          - "203.0.113.1"
    
  2. O instala un controlador de admisión para evitar el uso de IP externas. El proyecto de Kubernetes proporcionó un controlador de admisión de muestra para esta tarea.

Como se mencionó en el anuncio de Kubernetes, no se proporciona ninguna mitigación para los servicios de tipo LoadBalancer, ya que, de forma predeterminada, solo se otorga a los usuarios y a los componentes del sistema con privilegios elevados el permiso container.services.updateStatus que se necesita para aprovechar esta vulnerabilidad.

Medio

CVE-2020-8554

GCP-2020-014

Fecha de publicación: 20/10/2020
Última actualización: 20/10/2020
Descripción Gravedad Notas

Hace poco, el proyecto de Kubernetes descubrió varios problemas que permiten la exposición de datos secretos cuando las opciones de registro detallado están habilitadas. Estos son los problemas:

  • CVE-2020-8563: Hay pérdidas de secretos en registros de kube-controller-manager del proveedor de vSphere.
  • CVE-2020-8564: Los secretos de archivos de configuración de Docker se filtran cuando el archivo es incorrecto y el nivel de registro >= 4.
  • CVE-2020-8565: Una corrección incompleta para CVE-2019-11250 en Kubernetes permite la pérdida de tokens en registros cuando logLevel >= 9. A este error lo encontró la seguridad de GKE.
  • CVE-2020-8566: Los adminSecrets de Ceph RBD se exponen en registros cuando loglevel >= 4.

GKE en AWS no se ve afectado.

¿Qué debo hacer?

No es necesario que realices ninguna otra acción debido a los niveles de registro detallado predeterminados de GKE.

Ninguno

GCP-2020-012

Fecha de publicación: 2020-09-14
Fecha de actualización: 2020-10-13
Descripción Gravedad Notas

Hace poco, se descubrió una vulnerabilidad en el kernel de Linux, descrita en CVE-2020-14386, que puede permitir obtener privilegios raíz en el nodo host mediante el escape del contenedor.

Todos los nodos de clústeres de Anthos alojados en AWS se ven afectados.

¿Qué debo hacer?

Para corregir esta vulnerabilidad, actualiza tu servicio de administración y tus clústeres de usuario a una versión con parche. Las próximas versiones de clústeres de Anthos alojados en AWS o versiones más recientes incluirán la corrección de esta vulnerabilidad, y este boletín se actualizará cuando estén disponibles:
  • 1.5.0-gke.6
  • 1.4.3-gke.7

Quita la capacidad CAP_NET_RAW de los contenedores con uno de los siguientes métodos:

  • Aplica el bloqueo de estas capacidades con PodSecurityPolicy, por ejemplo de la siguiente manera:
    
          # Require dropping CAP_NET_RAW with a PSP
          apiversion: extensions/v1beta1
          kind: PodSecurityPolicy
          metadata:
            name: no-cap-net-raw
          spec:
            requiredDropCapabilities:
              -NET_RAW
               ...
               # Unrelated fields omitted
          
  • También puedes usar el controlador de políticas o Gatekeeper con esta plantilla de restricción y aplicarla, por ejemplo de la siguiente manera:
    
          # Dropping CAP_NET_RAW with Gatekeeper
          # (requires the K8sPSPCapabilities template)
          apiversion: constraints.gatekeeper.sh/v1beta1
          kind:  K8sPSPCapabilities
          metadata:
            name: forbid-cap-net-raw
          spec:
            match:
              kinds:
                - apiGroups: [""]
                kinds: ["Pod"]
              namespaces:
                #List of namespaces to enforce this constraint on
                - default
              # If running gatekeeper >= v3.1.0-beta.5,
              # you can exclude namespaces rather than including them above.
              excludedNamespaces:
                - kube-system
            parameters:
              requiredDropCapabilities:
                - "NET_RAW"
          
  • O actualiza las especificaciones del Pod:
    
          # Dropping CAP_NET_RAW from a Pod:
          apiVersion: v1
          kind: Pod
          metadata:
            name: no-cap-net-raw
          spec:
            containers:
              -name: my-container
               ...
              securityContext:
                capabilities:
                  drop:
                    -NET_RAW
          

¿Qué vulnerabilidad corrige este parche?

Con este parche, se mitiga la siguiente vulnerabilidad:

La vulnerabilidad CVE-2020-14386, que permite contenedores con CAP_NET_RAW
para escribir de 1 a 10 bytes de memoria de kernel y, también, escapar del contenedor y obtener privilegios raíz en el nodo host. Esta vulnerabilidad de seguridad tiene una calificación de gravedad alta.

Alto

CVE-2020-14386

GCP-2020-011

Fecha de publicación: 24/07/2020
Descripción Gravedad Notas

Se detectó hace poco una vulnerabilidad en las herramientas de redes, CVE-2020-8558, en Kubernetes. A veces, los servicios se comunican con otras aplicaciones que se ejecutan dentro del mismo Pod mediante la interfaz de bucle invertido local (127.0.0.1). Esta vulnerabilidad permite que un atacante con acceso a la red del clúster envíe tráfico a la interfaz de bucle invertido de Pods y nodos adyacentes. Podrían aprovecharse los servicios que dependen de que no se pueda acceder a la interfaz de bucle invertido fuera del Pod.

A fin de aprovechar esta vulnerabilidad en los clústeres de usuario, se requiere que un atacante inhabilite las verificaciones de destino de origen en las instancias de EC2 en el clúster. El atacante debería tener permisos de IAM de AWS para ModifyInstanceAttribute o ModifyNetworkInterfaceAttribute en las instancias de EC2. Por esta razón, a esta vulnerabilidad se le asignó una gravedad baja para clústeres de Anthos alojados en AWS.

¿Qué debo hacer?

Para corregir esta vulnerabilidad, actualiza el clúster a una versión de parche. Las próximas versiones de clústeres de Anthos alojados en AWS o versiones más recientes incluirán la corrección de esta vulnerabilidad:

  • Clústeres de Anthos alojados en AWS 1.4.1-gke.17

¿Qué vulnerabilidad trata este parche?

Este parche corrige la siguiente vulnerabilidad: CVE-2020-8558.

Bajo

CVE-2020-8558

GCP-2020-009

Fecha de publicación: 15/07/2020
Descripción Gravedad Notas

En la actualidad, se descubrió una vulnerabilidad de elevación de privilegios, CVE-2020-8559, en Kubernetes. Esta vulnerabilidad permite que un atacante que ya haya comprometido un nodo pueda ejecutar un comando en cualquier Pod del clúster. Por lo tanto, existe la posibilidad de que el atacante use el nodo ya comprometido para comprometer otros nodos y poder leer información o causar acciones destructivas.

Ten en cuenta que, para que un atacante pueda aprovechar esta vulnerabilidad, un nodo del clúster ya debe estar comprometido. Esta vulnerabilidad, por sí sola, no comprometerá ningún nodo del clúster.

¿Qué debo hacer?

La versión de clústeres de Anthos alojados en AWS (1.4.1, disponible a fines de julio de 2020), o versiones posteriores, incluye el parche para esta vulnerabilidad. Si usas una versión anterior, descarga una versión nueva de la herramienta de línea de comandos de anthos-gke y vuelve a crear los clústeres de administrador y de usuario.

¿Qué vulnerabilidad trata este parche?

Estos parches mitigan la vulnerabilidad CVE-2020-8559. Esta se considera una vulnerabilidad de nivel medio para GKE, ya que requiere que el atacante tenga información de primera mano sobre el clúster, los nodos y las cargas de trabajo para aprovechar este ataque de manera efectiva, además de un nodo existente ya comprometido. Esta vulnerabilidad no le proporcionará un nodo comprometido a un atacante.

Medio

CVE-2020-8559

GCP-2020-007

Fecha de publicación: 1 de junio de 2020
Descripción Gravedad Notas

Hace poco tiempo, se descubrió en Kubernetes una vulnerabilidad de falsificación de solicitudes del servidor (SSRF), CVE-2020-8555, que permitía a ciertos usuarios autorizados filtrar hasta 500 bytes de información sensible desde la red de host del plano de control. En el plano de control de Google Kubernetes Engine (GKE), se usan controladores de Kubernetes a los que afecta esta vulnerabilidad. Te recomendamos actualizar el plano de control a la versión más reciente del parche, como se muestra a continuación. No es necesario actualizar los nodos.

¿Qué debo hacer?

clústeres de Anthos alojados en AWS (GKE en AWS) v0.2.0 o posterior ya incluye el parche para esta vulnerabilidad. Si usas una versión anterior, descarga una versión nueva de la herramienta de línea de comandos de anthos-gke y vuelve a crear los clústeres de administrador y de usuario.

¿Qué vulnerabilidad corrige este parche?

Estos parches mitigan la vulnerabilidad CVE-2020-8555. Esta tiene una calificación de vulnerabilidad media para GKE, ya que fue difícil aprovecharla debido a las medidas de endurecimiento del plano de control.

Un atacante con permisos para crear un Pod con ciertos tipos de volúmenes incluidos (GlusterFS, Quobyte, StorageFS, ScaleIO) o con permisos para crear un StorageClass puede hacer que kube-controller-manager cree solicitudes GET o POST sin un cuerpo de solicitud que controle el atacante desde la red de host de la instancia principal. En GKE rara vez se usan estos tipos de volúmenes, por lo que un uso nuevo de ellos puede ser un indicador de detección útil.

Combinados con un medio para que el atacante reciba los resultados filtrados del GET/POST (como los registros), puede provocar que se divulgue información sensible. Actualizamos los controladores de almacenamiento en cuestión para evitar la posibilidad de que ocurran tales fugas.

Medio

CVE-2020-8555

GCP-2020-006

Fecha de publicación: 1 de junio de 2020
Descripción Gravedad Notas

Kubernetes divulgó una vulnerabilidad que permite que un contenedor con privilegios redireccione el tráfico de nodos a otro contenedor. El atacante no puede leer ni modificar el tráfico mutuo de TLS/SSH, como aquel entre el kubelet y el servidor de la API, o el tráfico desde aplicaciones mediante mTLS. Esta vulnerabilidad afecta a todos los nodos de Google Kubernetes Engine (GKE). Te recomendamos actualizar a la versión más reciente del parche, como se muestra a continuación.

¿Qué debo hacer?

Descarga la herramienta de línea de comandos de anthos-gke con la siguiente versión o una más reciente y vuelve a crear los clústeres de administrador y de usuario:

  • aws-0.2.1-gke.7

Por lo general, muy pocos contenedores requieren CAP_NET_RAW. Esta y otras capacidades potentes se deben bloquear de forma predeterminada mediante el controlador de políticas de Anthos o la actualización de las especificaciones del pod:

Quita la capacidad CAP_NET_RAW de los contenedores con uno de los siguientes métodos:

  • Aplica el bloqueo de estas capacidades con PodSecurityPolicy, por ejemplo de la siguiente manera:
    
          # Require dropping CAP_NET_RAW with a PSP
          apiversion: extensions/v1beta1
          kind: PodSecurityPolicy
          metadata:
            name: no-cap-net-raw
          spec:
            requiredDropCapabilities:
              -NET_RAW
               ...
               # Unrelated fields omitted
          
  • También puedes usar el controlador de políticas o Gatekeeper con esta plantilla de restricción y aplicarla, por ejemplo de la siguiente manera:
    
          # Dropping CAP_NET_RAW with Gatekeeper
          # (requires the K8sPSPCapabilities template)
          apiversion: constraints.gatekeeper.sh/v1beta1
          kind:  K8sPSPCapabilities
          metadata:
            name: forbid-cap-net-raw
          spec:
            match:
              kinds:
                - apiGroups: [""]
                kinds: ["Pod"]
              namespaces:
                #List of namespaces to enforce this constraint on
                - default
              # If running gatekeeper >= v3.1.0-beta.5,
              # you can exclude namespaces rather than including them above.
              excludedNamespaces:
                - kube-system
            parameters:
              requiredDropCapabilities:
                - "NET_RAW"
          
  • O actualiza las especificaciones del Pod:
    
          # Dropping CAP_NET_RAW from a Pod:
          apiVersion: v1
          kind: Pod
          metadata:
            name: no-cap-net-raw
          spec:
            containers:
              -name: my-container
               ...
              securityContext:
                capabilities:
                  drop:
                    -NET_RAW
          

¿Qué vulnerabilidad corrige este parche?

El parche mitiga la siguiente vulnerabilidad:

La vulnerabilidad descrita en el problema 91507 de Kubernetes: la capacidad CAP_NET_RAW (que se incluye en el conjunto de capacidades del contenedor predeterminado) por configurar de forma maliciosa la pila de IPv6 en el nodo y redireccionar el tráfico del nodo al contenedor que controla el atacante. Esto permitirá que el atacante intercepte o modifique el tráfico que se origina en el nodo o que se destina a este. El ataque no permite leer ni modificar el tráfico mutuo de TLS/SSH, como entre el kubelet y el servidor de la API, o el tráfico de aplicaciones con mTLS.

Medio

Problema 91507 de Kubernetes