A comunidade Kubernetes descobriu a vulnerabilidade CVE-2024-10220. Essa falha permite que usuários com permissão para criar um pod e associar um volume gitRepo executem comandos arbitrários além dos limites do contêiner. Atacantes podem explorar a pasta de hooks no repositório Git de destino para executar comandos arbitrários fora do contêiner e facilitar ataques de injeção de comandos.
A vulnerabilidade CVE-2024-10220 tem classificação de alta severidade e pontuação 8,1 no Common Vulnerability Scoring System (CVSS): 8,1. Para obter mais informações sobre essa vulnerabilidade, consulte #128885.
Versões afetadas
As seguintes versões do kubelet são afetadas por esta vulnerabilidade:
v1.30.0 a v1.30.2
v1.29.0 a v1.29.6
v1.28.11 e anteriores
Esta vulnerabilidade foi corrigida nas seguintes versões:
v1.31.0
v1.30.3
v1.29.7
v1.28.12
Detecção da vulnerabilidade
Execute o comando abaixo para verificar se essa vulnerabilidade foi explorada em seu cluster.
Esse comando lista todos os pods que montaram um volume do tipo gitRepo e clonaram o repositório no subdiretório .git do pod.
kubectl get pods --all-namespaces -o json | jq '.items[] | select(.spec.volumes[]?.gitRepo? != null) | {name: .metadata.name, namespace: .metadata.namespace}'
Soluções
Como o tipo de volume gitRepo está obsoleto, a comunidade recomenda usar um init container para clonar o Git e montar o diretório no contêiner que executa o pod. Para obter mais detalhes, consulte este exemplo.
Habilite a política da Container Service for Kubernetes:Visão geral da biblioteca de regras de política de segurança de contêiner na governança de políticas para restringir o uso de certos tipos de volumes por pods implantados em escopos específicos do cluster. Essa medida impede que os pods utilizem volumes gitRepo e limita a exploração desse recurso por atacantes.
Acompanhe os anúncios relevantes do ACK e atualize os pools de nós prontamente. Para obter mais informações, consulte Atualizar um pool de nós.