Boletins de segurança

Todos os boletins de segurança para clusters do Anthos no VMware (GKE On-Prem) são descritos neste tópico.

Geralmente, as vulnerabilidades são mantidas sob sigilo e não podem ser divulgadas até que as partes afetadas tenham a oportunidade de solucioná-las. Nesses casos, os clusters do Anthos nas notas da versão do VMware mencionarão "atualizações de segurança" até que a embargo seja levantada. No momento da liberação, as notas serão atualizadas para indicar a vulnerabilidade solucionada pelo patch.

Para receber os boletins de segurança mais recentes, adicione o URL desta página ao seu leitor de feeds.

GCP-2021-001

Publicado: 28/01/2020
Descrição Gravidade Observações

Uma vulnerabilidade foi descoberta recentemente no utilitário sudo do Linux, descrito em CVE-2021-3156, que pode permitir que um invasor com acesso shell não privilegiado em um sistema com o sudo instalado para encaminhar os privilégios à raiz do sistema.

Os clusters do Anthos no VMware não são afetados por esta vulnerabilidade:

  • Os usuários autorizados a clusters do SSH para Anthos em nós da VMware já são considerados altamente privilegiados e podem usar sudo para ter privilégios de root por design. A vulnerabilidade não produz nenhum caminho de escalonamento de privilégios adicionais nesse cenário.
  • A maioria dos clusters do Anthos em contêineres do sistema VMware é criada com base em imagens de base distroless, que não têm um shell ou sudo instalados. Outras imagens são criadas com base em uma imagem base do Debian que não contém sudo. Mesmo que sudo esteja presente, o acesso a sudo no contêiner não dá acesso ao host devido ao limite do contêiner.

Essa vulnerabilidade pode ser usada em contêineres deaplicativos do cliente para encaminhar privilégios para a raiz dentro do contêiner. Se o contêiner do aplicativo for projetado para ser executado como não raiz, considere atualizar a imagem base de contêiner para uma versão que contenha a correção.

O que fazer?

Como os clusters do Anthos no VMware não são afetados por essa vulnerabilidade, nenhuma outra ação é necessária.

Os clusters do Anthos no VMware terão o patch para esta vulnerabilidade aplicado em uma próxima versão na cadência normal.

Nenhum CVE-2021-3156 (em inglês)

GCP-2020-015

Publicado: 07/12/2020
Descrição Gravidade Observações

O projeto Kubernetes descobriu recentemente (em inglês) uma nova vulnerabilidade de segurança, CVE-2020-8554, (em inglês) que pode permitir que um invasor que tenha permissões para criar um serviço do Kubernetes do tipo LoadBalancer ou ClusterIP para interceptar o tráfego de rede proveniente de outros pods no cluster.

Essa vulnerabilidade em si não concede permissões a um invasor para criar um serviço do Kubernetes.

Todos os clusters do Anthos no VMware são afetados por essa vulnerabilidade.

O que fazer?

O Kubernetes pode precisar fazer alterações de design incompatíveis com versões anteriores em uma versão futura para lidar com a vulnerabilidade.

Se muitos usuários compartilharem acesso ao cluster com permissões para criar serviços, como em um cluster multilocatário, considere aplicar uma mitigação nesse meio tempo. Por enquanto, a melhor abordagem para a mitigação é restringir o uso de ExternalIPs em um cluster. ExternalIPs não são um recurso frequentemente usado.

Restrinja o uso de ExternalIPs em um cluster com um dos seguintes métodos:
  1. Use o Anthos Policy Controller ou o Gatekeeper com este modelo de restrição e aplique-o. Exemplo:
    
    # 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. Ou instale um controlador de admissão para impedir o uso de ExternalIPs. O projeto do Kubernetes forneceu um controlador de admissão de amostra para essa tarefa.

Como mencionado no Anúncio do Kubernetes , nenhuma mitigação é fornecida para os serviços do tipo LoadBalancer porque, por padrão, apenas usuários altamente privilegiados e componentes do sistema recebem a container.services.updateStatus permissão que é necessária para fazer uso dessa vulnerabilidade.

Médio

CVE-2020-8554

GCP-2020-014

Publicação: 20/10/2020
Atualizado em: 20/10/2020
Descrição Gravidade Observações

Recentemente, foram descobertos vários problemas do Kubernetes que permitem a exposição de dados secretos quando as opções de registro detalhado estão ativadas. Os problemas são os seguintes:

  • CVE-2020-8563: vazamentos de secret em registros para o provedor vSphere kube-controller-manager.
  • CVE-2020-8564: os secrets de configuração do Docker vazaram quando o arquivo estava malformado e com logLevel >= 4.
  • CVE-2020-8565: correção incompleta para CVE-2019-11250 no Kubernetes possibilita o vazamento de token nos registros com logLevel >= 9. Descoberto pela segurança do GKE.
  • CVE-2020-8566: adminSecrets do Ceph RBD expostos nos registros com logLevel >= 4

O GKE On-Prem não é afetado.

O que fazer?

Nenhuma outra ação é necessária devido aos níveis de registro detalhado padrão do GKE.

Nenhum

GCP-2020-012

Publicação: 14/09/2020
Atualizado em: 17/09/2020
Descrição Gravidade Observações

Uma vulnerabilidade foi descoberta recentemente no kernel do Linux, descrita em CVE-2020-14386, que pode permitir que os escapes de contêineres recebam privilégios raiz no nó host.

Todos os clusters do Anthos em nós da VMware são afetados.

O que fazer?

Para corrigir essa vulnerabilidade, faça upgrade do cluster para uma versão com patch. Os seguintes clusters do Anthos nas versões do VMware conterão a correção da vulnerabilidade, e este boletim será atualizado quando eles estiverem disponíveis:

  • Clusters do Anthos no VMware 1.4.3, já estão disponíveis.
  • Os clusters do Anthos no VMware 1.3.4 já estão disponíveis.

A exploração dessa vulnerabilidade requer CAP_NET_RAW, mas poucos contêineres geralmente exigem CAP_NET_RAW. Este e outros recursos avançados devem ser bloqueados por padrão por meio de PodSecurityPolicy ou do Policy Controller:

Reduza a capacidade CAP_NET_RAW dos contêineres com um dos seguintes métodos:

  • Aplique o bloqueio desses recursos com PodSecurityPolicy, por exemplo:
    
          # 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
          
  • Ou usando o Anthos Policy Controller/Gatekeeper com este modelo de restrição, por exemplo:
    
          # 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"
          
  • Ou ao atualizar as especificações do 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
          

Qual vulnerabilidade é corrigida por esse patch?

O patch reduz a seguinte vulnerabilidade:

A vulnerabilidade CVE-2020-14386, que permite que contêineres com CAP_NET_RAW
gravem de 1 a 10 bytes de memória do kernel e possivelmente escapem o contêiner e recebam privilégios raiz no nó host. Isso é classificado como uma vulnerabilidade de alto nível de gravidade.

Alta

CVE-2020-14386

GCP-2020-011

Publicado: 24/07/2020
Descrição Gravidade Observações

Uma vulnerabilidade de rede, CVE-2020-8558, foi descoberta recentemente no Kubernetes. Às vezes, os serviços se comunicam com outros aplicativos em execução no mesmo pod usando a interface de loopback local (127.0.0.1). Essa vulnerabilidade permite que um invasor com acesso à rede do cluster envie tráfego para a interface de loopback de pods e nós adjacentes. Os serviços que dependem da interface de loopback e não são acessados fora do pod podem ser explorados.

O que fazer?

Para corrigir essa vulnerabilidade, faça upgrade do cluster para uma versão com patch. Os seguintes clusters do Anthos nas versões do VMware ou mais recentes contêm a correção desta vulnerabilidade:

  • Clusters do Anthos no VMware 1.4.1
  • Clusters do Anthos no VMware 1.3.5

Qual vulnerabilidade é corrigida por esse patch?

Esse patch corrige a seguinte vulnerabilidade: CVE-2020-8558.

Médio

CVE-2020-8558

GCP-2020-009

Publicado: 15/07/2020
Descrição Gravidade Observações

Uma vulnerabilidade de escalonamento de privilégios, CVE-2020-8559, foi descoberta recentemente no Kubernetes. Essa vulnerabilidade permite que um invasor que já tenha comprometido um nó execute um comando em qualquer pod do cluster. Dessa forma, o invasor pode usar o nó já afetado para comprometer outros nós e, possivelmente, ler informações ou causar ações destrutivas.

Para que um invasor explore essa vulnerabilidade, é preciso que um nó do cluster já tenha sido comprometido. Essa vulnerabilidade, por si só, não comprometerá os nós do cluster.

O que fazer?

Faça upgrade do cluster para uma versão com patch. Os seguintes clusters do Anthos nas versões VMware ou posteriores contêm a correção dessa vulnerabilidade:

  • Anthos 1.3.3
  • Anthos 1.4.1

Qual vulnerabilidade é corrigida por esse patch?

Esses patches mitigam a vulnerabilidade CVE-2020-8559. Isso é classificado como uma vulnerabilidade média do GKE, porque exige que o invasor tenha informações em primeira mão sobre o cluster, os nós e as cargas de trabalho para aproveitar esse ataque de forma eficaz, além de um nó comprometido. Essa vulnerabilidade sozinha não fornece um nó comprometido a um invasor.

Médio

CVE-2020-8559

GCP-2020-007

Publicado: 01/06/2020
Descrição Gravidade Observações

A vulnerabilidade de falsificação de solicitação do lado do servidor (SSRF, na sigla em inglês) CVE-2020-8555 foi descoberta recentemente no Kubernetes. Ela permite que determinados usuários autorizados vazem até 500 bytes de informações confidenciais da rede do host do plano de controle. O plano de controle do Google Kubernetes Engine (GKE) usa os controladores do Kubernetes e, portanto, foi afetado por essa vulnerabilidade. Recomendamos que você faça o upgrade do plano de controle para a versão mais recente do patch, conforme detalhado abaixo. Não é necessário fazer upgrade do nó.

O que fazer?

Os seguintes clusters do Anthos nas versões do VMware (GKE On-Prem) ou mais recente contêm a correção desta vulnerabilidade:

  • Anthos 1.3.0

Se você estiver usando uma versão anterior, faça upgrade do cluster atual para uma versão que contenha a correção.

Qual vulnerabilidade é corrigida por esse patch?

Esses patches mitigam a vulnerabilidade CVE-2020-8555. Ela é classificada como uma vulnerabilidade de gravidade média para o GKE, porque era difícil explorá-la já que havia várias medidas de aumento de proteção do plano de controle.

Um invasor com permissões para criar um pod com determinados tipos de volume integrado (GlusterFS, Quobyte, StorageFS e ScaleIO) ou permissões para criar um StorageClass pode fazer com que kube-controller-manager crie solicitações GET ou POST sem um corpo de solicitação controlado pelo invasor na rede do host do mestre. Esses tipos de volume raramente são usados no GKE, então uma nova utilização deles pode ser um sinal útil para detectar problemas.

Combinado com um meio de vazar os resultados de GET/POST para o invasor, como por meio de registros, essa vulnerabilidade pode levar à divulgação de informações confidenciais. Atualizamos os drivers de armazenamento em questão para remover a possibilidade desses vazamentos acontecerem.

Médio

CVE-2020-8555 (em inglês)

GCP-2020-006

Publicado: 01/06/2020
Descrição Gravidade Observações

O Kubernetes divulgou uma vulnerabilidade que permite que um contêiner com privilégios redirecione o tráfego do nó para outro contêiner. O tráfego TLS/SSH mútuo, como entre o kubelet e o servidor da API, e o tráfego de aplicativos que usam mTLS não podem ser lidos ou modificados por esse ataque. Todos os nós do Google Kubernetes Engine (GKE) foram afetados por essa vulnerabilidade. Recomendamos que você faça o upgrade para a versão mais recente do patch, conforme detalhado a seguir.

O que fazer?

Para atenuar esta vulnerabilidade dos clusters do Anthos no VMware (GKE On-Prem), faça o upgrade dos clusters para a versão mais recente ou mais recente:
  • Anthos 1.3.2

Em geral, pouquíssimos contêineres exigem CAP_NET_RAW. Esse e outros recursos avançados precisam ser bloqueados, por padrão, usando o Anthos Policy Controller ou atualizando as especificações de pod:

Reduza a capacidade CAP_NET_RAW dos contêineres com um dos seguintes métodos:

  • Aplique o bloqueio desses recursos com PodSecurityPolicy, por exemplo:
    
          # 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
          
  • Ou usando o Anthos Policy Controller/Gatekeeper com este modelo de restrição, por exemplo:
    
          # 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"
          
  • Ou ao atualizar as especificações do 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
          

Qual vulnerabilidade é corrigida por esse patch?

O patch mitiga a seguinte vulnerabilidade:

A vulnerabilidade descrita na capacidade CAP_NET_RAW do problema 91507 do Kubernetes (que está incluída no conjunto de capacidades de contêiner padrão) que envolve configurar de forma mal-intencionada a pilha do IPv6 no nó e redirecionar o tráfego do nó para o contêiner controlado pelo invasor. Isso permite que o invasor intercepte/modifique o tráfego que se origina do nó ou se destina a ele. O tráfego mútuo TLS/SSH, como entre o kubelet e o servidor da API, ou o tráfego de aplicativos que usam mTLS não pode ser lido ou modificado por essa invasão.

Médio

Problema 91507 do Kubernetes

GCP-2020-004

Descrição Gravidade Observações

Uma vulnerabilidade foi descoberta no Kubernetes recentemente, descrita em CVE-2019-11254 (em inglês). Ela permite que qualquer usuário autorizado a fazer solicitações POST execute um ataque remoto de negação de serviço em um servidor da API Kubernetes. O Comitê de Segurança de Produto (PSC, na sigla em inglês) do Kubernetes divulgou mais informações sobre essa vulnerabilidade. Para saber mais, acesse-as aqui (em inglês).

É possível mitigar essa vulnerabilidade limitando os clientes que têm acesso à rede dos servidores da API Kubernetes.

O que fazer?

Recomendamos fazer upgrade de seus clusters para corrigir versões que contenham a correção dessa vulnerabilidade assim que estiverem disponíveis.

Veja abaixo as versões de patch que solucionam o problema:

  • Anthos 1.3.0, que executa o Kubernetes versão 1.15.7-gke.32

Quais vulnerabilidades são corrigidas por esse patch?

A de negação de serviço (DoS) a seguir:

CVE-2019-11254 (em inglês).

Médio

CVE-2019-11254 (em inglês)

16 de outubro de 2019

Descrição Gravidade Observações

Uma vulnerabilidade foi descoberta no Kubernetes recentemente, descrita em CVE-2019-11253 (em inglês). Ela permite que qualquer usuário autorizado faça solicitações POST para executar um ataque remoto de negação de serviço em um servidor da API Kubernetes. O Comitê de Segurança de Produto (PSC, na sigla em inglês) do Kubernetes divulgou mais informações sobre essa vulnerabilidade, que podem ser encontradas aqui.

É possível mitigar essa vulnerabilidade limitando os clientes que têm acesso à rede aos servidores da API Kubernetes.

O que fazer?

Recomendamos fazer upgrade do cluster para uma versão de patch com a correção assim que ela estiver disponível.

As versões de patch que contêm a correção estão listadas abaixo:

  • Anthos 1.1.1, que executa o Kubernetes versão 1.13.7-gke.30
Qual vulnerabilidade é corrigida por esse patch?

O patch mitiga a seguinte vulnerabilidade: CVE-2019-11253.

Alta

CVE-2019-11253 (em inglês)

23 de agosto de 2019

Descrição Gravidade Observações

Descobrimos e mitigamos uma vulnerabilidade em que o proxy RBAC, usado para proteger os endpoints de monitoramento, não autorizou corretamente os usuários. Consequentemente, as métricas de determinados componentes estão disponíveis para usuários não autorizados na rede interna do cluster. Os seguintes componentes foram afetados:

  • etcd
  • etcd-events
  • kube-apiserver
  • kube-controller-manager
  • kube-scheduler
  • node-exporter
  • kube-state-metrics
  • prometheus
  • alertmanager
O que fazer?

Recomendamos fazer upgrade dos clusters para a versão 1.0.2-gke.3, que inclui o patch dessa vulnerabilidade, o mais rápido possível.

Médio

Clusters do Anthos em versões VMware

22 de agosto de 2019

Descrição Gravidade Observações

Recentemente, o Kubernetes descobriu uma vulnerabilidade, a CVE-2019-11247, que possibilita que instâncias de recursos personalizados com escopo no cluster sejam usadas como se fossem objetos de namespaces existentes em todos os namespaces. Isso significa que contas de usuários e de serviço com permissões apenas do RBAC de nível do namespace podem interagir com recursos personalizados com escopo no cluster. A exploração dessa vulnerabilidade exige que o invasor tenha privilégios para acessar o recurso no namespace.

O que fazer?

Recomendamos fazer upgrade dos clusters para a versão 1.0.2-gke.3, que inclui o patch dessa vulnerabilidade, o mais rápido possível.

Qual vulnerabilidade é corrigida por esse patch?

O patch reduz a seguinte vulnerabilidade: CVE-2019-11247.

Médio

CVE-2019-11247