Grupos de ameaça estão explorando configurações incorretas em ambientes Docker e Kubernetes para invadir servidores e comprometer clusters inteiros de cloud. Uma campanha do grupo TeamPCP envenenou repositório Docker Hub usado pela ferramenta de segurança Checkmarx KICS, extraindo credenciais do Kubernetes. A falha afeta milhares de infraestruturas containerizadas em produção no mundo todo.
Vetores de ataque em containers
Containers compartilham o kernel do host e dependem de namespaces e cgroups do Linux para isolamento. Quando esse isolamento falha — por privilégios excessivos, APIs expostas ou configuração fraca — o atacante escapa do container e assume o controle do servidor. Em muitos cenários, nem é preciso escapar: credenciais e tokens dentro do container já bastam para comprometer toda a infraestrutura cloud conectada.
A campanha TeamPCP demonstrou como imagens maliciosas em repositórios públicos podem ser usadas como vetor de entrada. O grupo envenenou um repositório Docker Hub legítimo, referenciado pela ferramenta de segurança Checkmarx KICS, embutindo um stealer que era ativado durante scans de segurança e extraía secrets do Kubernetes e credenciais de cloud.
Quedas históricas de CVEs
| CVE | Tipo de falha | Impacto |
|---|---|---|
| CVE-2019-5736 | runC — sobrescrita do binário | Execução de código no host |
| CVE-2022-0492 | cgroup — escape de container | Contorno de isolamento |
| CVE-2024-21626 | Descritor de arquivo exposto | Acesso ao filesystem do host |
| CVE-2026-34040 | Docker AuthZ — bypass de autorização | Container privilegiado com acesso ao host |
Como funciona a cadeia de ataque
O caminho típico começa com APIs do Docker ou Kubernetes expostas sem autenticação. O atacante obtém um token, enumera permissões e implanta um pod privilegiado que monta o filesystem do host. Com isso, altera arquivos críticos e obtém persistência total. O socket do Docker montado dentro de um container é outro vetor comum: quem controla o socket controla o host inteiro.
Capacidades como CAP_SYS_ADMIN e CAP_SYS_PTRACE, quando atribuídas ao container, permitem ler e modificar a memória de outros processos, injetar código e extrair dados sensíveis diretamente da RAM. Imagens maliciosas em repositórios públicos e pipelines CI/CD contaminados completam o quadro de vetores, permitindo que o atacante insira backdoors sem alterar a lógica da aplicação.
Como reduzir a superfície de risco
Audite regularmente as configurações de cluster com ferramentas como KICS, Trivy e kube-bench. Remova capabilities desnecessárias — rode containers com o perfil restricted do Pod Security Standards. Nunca exponha APIs do Docker ou Kubernetes à internet sem autenticação robusta. Implemente network policies para segmentar tráfego entre pods e limite a montagem de volumes sensíveis. Monitore em tempo real com Falco ou Tetragon para detectar comportamento anômalo dentro dos containers.