Boletines de seguridad

Todos los boletines de seguridad de GKE On-Prem se describen en este tema.

Las vulnerabilidades se suelen mantener en secreto y no se las puede divulgar hasta que las partes afectadas hayan tenido la oportunidad de tratar el tema. En estos casos, las notas de la versión de GKE On-Prem harán referencia a las “actualizaciones de seguridad” hasta que se apruebe la divulgación. En ese momento, las notas se actualizarán para reflejar la vulnerabilidad tratada en el parche.

Para recibir los boletines de seguridad más recientes, agrega la URL de esta página a tu lector de feeds.

GCP-2020-012

Fecha de publicación: 14/09/2020
Última actualización: 17/09/2020
Descripción Gravedad Notas

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

Todos los nodos de GKE On-Prem se ven afectados.

¿Qué debo hacer?

Para corregir esta vulnerabilidad, actualiza el clúster a una versión de parche. Las próximas versiones de GKE On-Prem incluirán la corrección de esta vulnerabilidad, y este boletín se actualizará cuando estén disponibles:

  • GKE on-Prem 1.4.3, ahora disponible.
  • GKE On-Prem 1.3.4, ahora disponible.

Para aprovechar esta vulnerabilidad, se requiere CAP_NET_RAW, pero muy pocos contenedores suelen requerir CAP_NET_RAW. Esta y otras capacidades potentes se deben bloquear de forma predeterminada a través de PodSecurityPolicy o del controlador de políticas:
  • Aplica el bloqueo de estas capacidades con PodSecurityPolicy, por ejemplo:
    
          # 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:
    
          # 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.

Alta

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.

¿Qué debo hacer?

Para corregir esta vulnerabilidad, actualiza el clúster a una versión de parche. En las siguientes versiones o en otras más recientes de GKE On-Prem, se incluye la solución para esta vulnerabilidad:

  • GKE On-prem 1.4.1

¿Qué vulnerabilidad trata este parche?

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

Media

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?

Actualiza tu clúster a una versión con parche. En las siguientes versiones o en otras más recientes de GKE On-Prem, se incluye la solución para esta vulnerabilidad:

  • Anthos 1.3.3
  • Anthos 1.4.1

¿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.

Media

CVE-2020-8559

GCP-2020-007

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

Recientemente, se descubrió la vulnerabilidad de falsificación de solicitudes del servidor (SSRF) CVE-2020-8555 en Kubernetes, que permitió a ciertos usuarios autorizados filtrar hasta 500 bytes de información sensible desde la red 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 detalla a continuación. No es necesario actualizar los nodos.

¿Qué debo hacer?

En las siguientes versiones o en otras más recientes de GKE On-Prem, se incluye la solución para esta vulnerabilidad:

  • Anthos 1.3.0

Si usas una versión anterior, actualiza el clúster existente a una versión en la que se incluya la solución.

¿Qué vulnerabilidad trata 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.

Media

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 nodo a otro contenedor. El ataque no permite 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 detalla a continuación.

¿Qué debo hacer?

Si deseas mitigar esta vulnerabilidad para GKE On-Prem, actualiza tus clústeres a la siguiente versión o a otra más reciente:
  • Anthos 1.3.2

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:

  • Descarta la capacidad CAP_NET_RAW de los contenedores:
    • Puedes hacer esto si usas el controlador de políticas de Anthos o Gatekeeper con esta plantilla de restricciones y la aplicas, como se muestra en el siguiente ejemplo:
    • 
      # 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"
      
    • También puedes hacerlo mediante la actualización de las especificaciones del pod:
    • 
      # Dropping CAP_NET_RAW from a Pod:
      apiVersion: v1
      kind: Pod
      metadata:
        name: no-cap-net-raw
      spec:
        containers:
          -name: m4028y-container
           ...
          securityContext:
            capabilities:
              drop:
                -NET_RAW
      

¿Qué vulnerabilidad trata este parche?

El parche mitiga las siguientes vulnerabilidades:

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.

Media

Problema 91507 de Kubernetes

GCP-2020-004

Descripción Gravedad Notas

Hace poco, se descubrió una vulnerabilidad en Kubernetes, descrita en CVE-2019-11254, que permite que cualquier usuario con autorización para realizar solicitudes POST ejecute un ataque de denegación del servicio de forma remota en un servidor de la API de Kubernetes. El Comité de seguridad de productos (PSC) de Kubernetes publicó información adicional sobre esta vulnerabilidad, que puedes encontrar aquí.

Puedes mitigar esta vulnerabilidad si limitas los clientes que tienen acceso a la red de los servidores de la API de Kubernetes.

¿Qué debo hacer?

Te recomendamos actualizar los clústeres a versiones del parche en las que se incluya la solución para esta vulnerabilidad en cuanto estén disponibles.

Estas son las versiones de parche que incluyen la corrección:

  • Anthos 1.3.0, que ejecuta la versión 1.15.7-gke.32 de Kubernetes

¿Qué vulnerabilidades trata este parche?

El parche corrige la siguiente vulnerabilidad de denegación del servicio (DoS):

CVE‑2019‑11254

Media

CVE‑2019‑11254

16 de octubre de 2019

Descripción Gravedad Notas

Hace poco, se descubrió una vulnerabilidad en Kubernetes, la cual se describe en CVE-2019-11253, que permite que cualquier usuario autorizado realice solicitudes POST para ejecutar un ataque a distancia de denegación del servicio en un servidor de la API de Kubernetes. El comité de seguridad de los productos (PSC) de Kubernetes difundió información adicional sobre esta vulnerabilidad, que puedes encontrar aquí.

Puedes mitigar esta vulnerabilidad si limitas los clientes tienen acceso a la red de los servidores de la API de Kubernetes.

¿Qué debo hacer?

Te recomendamos actualizar el clúster a una versión del parche en la que se incluya la solución en cuanto esté disponible.

Las versiones del parche en las que se incluirá la solución se enumeran a continuación:

  • Anthos 1.1.1, que ejecuta la versión 1.13.7-gke.30 de Kubernetes
¿Qué vulnerabilidad trata este parche?

Mediante el parche, se mitiga la siguiente vulnerabilidad: CVE-2019-11253.

Alta

CVE-2019-11253

23 de agosto de 2019

Descripción Gravedad Notas

Hace poco, descubrimos y mitigamos una vulnerabilidad en la que el proxy de RBAC que se usa para proteger los extremos de supervisión no autorizaba a los usuarios de forma adecuada. Como resultado, los usuarios no autorizados pueden obtener métricas de ciertos componentes desde la red interna del clúster. Los siguientes componentes se vieron afectados:

  • etcd
  • etcd-events
  • kube-apiserver
  • kube-controller-manager
  • kube-scheduler
  • node-exporter
  • kube-state-metrics
  • prometheus
  • alertmanager
¿Qué debo hacer?

Te recomendamos actualizar los clústeres a la versión 1.0.2-gke.3, en la que se incluye el parche para esta vulnerabilidad, lo antes posible.

Media

Versiones de GKE On-Prem

22 de agosto de 2019

Descripción Gravedad Notas

Hace poco tiempo, se descubrió una vulnerabilidad en Kubernetes, CVE-2019-11247, que permite que se actúe sobre instancias de recursos personalizados de alcance de clúster como si fueran objetos con espacio de nombres existentes en todos los espacios de nombres. Esto significa que las cuentas de usuario y de servicio solo deben contar con permisos de RBAC a nivel de espacio de nombres para interactuar con recursos personalizados de alcance de clúster. A fin de aprovechar esta vulnerabilidad, el atacante debe tener privilegios para acceder al recurso en cualquier espacio de nombres.

¿Qué debo hacer?

Te recomendamos actualizar los clústeres a la versión 1.0.2-gke.3, en la que se incluye el parche para esta vulnerabilidad, lo antes posible.

¿Qué vulnerabilidad trata este parche?

El parche mitiga la siguiente vulnerabilidad: CVE-2019-11247.

Media

CVE-2019-11247