Quando foi a última vez que você verificou container Docker que utiliza? Porque a verdade é que cada instrução FROM, cada binário copiado e cada pacote instalado que compõe container seu container um potencial vetor de ataque.
Isso significa que, se não estiver a inspecionar regularmente as camadas container seu container e as dependências de tempo de compilação, provavelmente estará a herdar muito mais riscos do que imagina.
CVEs (Vulnerabilidades e Exposições Comuns), imagens base inseguras, secrets codificados e privilégios excessivos são apenas algumas das formas pelas quais os invasores conseguem entrar. E isso deve ser uma preocupação para organizações como a sua.
De facto, o relatório State of Container 2024 da Red Hat, que inquiriu 600 profissionais de DevOps, engenharia e segurança, descobriu que quase metade das equipas (42%) admite que container as mantém acordadas à noite.
Desde vulnerabilidades container até CVEs que afetam cargas de trabalho críticas de GPU, este artigo detalha nove das container mais importantes e comumente ignoradas container Docker.
O que são Container Docker?
container Docker é qualquer fraqueza, configuração incorreta ou falha na container , no tempo de execução ou na infraestrutura subjacente que os invasores podem explorar para comprometer a segurança. Isso inclui tanto CVEs bem conhecidas quanto problemas negligenciados, como padrões inseguros, secrets expostos ou privilégios excessivos.
A velocidade e a portabilidade que tornam os contentores Docker tão poderosos para os programadores também podem torná-los um pesadelo para as equipas de segurança. Por exemplo, extrair uma imagem com a tag mais recente ou executar contentores como root pode parecer inofensivo à primeira vista. Mas, na prática, esses são exatamente os tipos de brechas que os invasores procuram.
Uma vulnerabilidade, em termos simples, é qualquer coisa na container seu container que facilite a vida de alguém que esteja a tentar invadi-lo.
Com isso em mente, vamos analisar as nove container mais comuns e perigosas container Docker que deve ter em atenção.
As 9 principais vulnerabilidades em contentores Docker
As nove vulnerabilidades a seguir são CVEs ativas e configurações incorretas amplamente observadas em ambientes de produção. Cada uma delas representa um caminho prático de ameaça que pode levar ao container , acesso ao host ou movimento lateral na sua infraestrutura.
Vamos analisá-los.
1. Vulnerabilidades Container do runC e Container Docker
O RunC é um container de «baixo nível» usado principalmente por container de «alto nível», como o Docker, para criar e executar contentores. Ao longo dos anos, observámos várias vulnerabilidades container RunC e Docker, que resultaram em ataques.
Uma vulnerabilidade grave, CVE-2019-5736, foi descoberta em fevereiro de 2019. Essa vulnerabilidade permitia que um invasor explorasse uma implementação do runC executando a versão do Docker anterior à 18.09.2, sobrescrevendo o binário runC do host e, assim, comprometendo o acesso root do host.
Embora seja uma vulnerabilidade antiga (6 anos em 2025), muitas equipas ainda estão expostas a ela, especialmente em ambientes com versões não corrigidas ou legadas do Docker/runC, tempos de execução personalizados ou bifurcados, etc.
Uma nuance crítica na vulnerabilidade CVE-2019-5736 é que ela requer que o container esteja a ser executado como um utilizador root. Suponha que os contentores estivessem a ser executados como contentores não root (por exemplo, com USER 1000 no Dockerfile ou securityContext.runAsNonRoot: true no Kubernetes). Nesse caso, os atacantes não podem acionar o caminho de sobrescrita porque não têm os privilégios necessários, e é por isso que é importante não executar os seus contentores como utilizador root.
Desde 2019, surgiram mais vulnerabilidades container runC e Docker, algumas com gravidade baixa e outras críticas:
- CVE-2024-21626: Container através do processo runC.cwd e fds vazados
- CVE-2024-45310: Container para criar ficheiros ou diretórios vazios
- CVE-2024-23651: Concorrência na cache de montagem do Buildkit
- CVE-2024-23652: container durante a compilação do Buildkit e eliminação arbitrária
- CVE-2024-23653: Verificação de privilégios do Buildkit GRPC SecurityMode
Para corrigir essas vulnerabilidades de segurança, é necessário atualizar os contentores Docker afetados para uma versão corrigida.
NOTA: Se não tiver a certeza de qual versão do runC tem no seu ambiente, execute o comando docker version para obter a versão como parte da saída:

Gravidade: Baixa → Crítica
2. CVE-2025-9074: Acesso não autenticado do Docker Desktop à API do Docker Engine a partir de contentores
A API do Docker Engine fornece uma interface programática para interagir com o daemon do Docker e gerir objetos do Docker. Ela está presente em todas as ferramentas do Docker, incluindo o Docker Desktop.
CVE-2025-9074 é uma vulnerabilidade crítica semelhante a uma falsificação de solicitação do lado do servidor (SSRF) no Docker Desktop. Com essa vulnerabilidade, os contentores podem aceder à API do Docker Engine através da sub-rede Docker configurada em 192.168.65.7:2375 por predefinição, mesmo com Container Avançado Container ativado. Além disso, com ou sem a opção "Expor daemon em tcp://localhost:2375 sem TLS" ativada.
O CVE-2025-9074 afeta apenas máquinas macOS e Windows. Embora a maioria dos sistemas de produção seja executada em Linux, como o Docker, alguns utilizam o Windows Server (especialmente se exigirem o uso de contentores Windows).
Os invasores podem explorar esta CVE com apenas estas três linhas de código Python abaixo:
The code above connects to the Docker daemon via TCP socket and runs a new Alpine container that creates a file exploit and mounts it to the host directory /Users/<username>. With that, when the container writes to the /mnt/exploit file, it writes to host /Users/<username>/exploit.
Um invasor pode modificar o script para fazer qualquer coisa que o motor Docker possa fazer, incluindo controlar outros contentores, criar novos, gerir imagens, etc.
Se utilizar o Docker Desktop no macOS ou Windows, certifique-se de atualizar para a versão mais recente, pois essa vulnerabilidade foi corrigida na versão 4.44.3.
Gravidade: Crítica
3. CVE-2022-0847: Dirty pipe ( Escape do kernel Linux)
A vulnerabilidade CVE-2022-0847 do kernel Linux decorre de uma falha na lógica pipe_buffer.flags do código pipe do kernel, que permite que um agente malicioso escreva em ficheiros somente leitura, contornando proteções como O_RDONLY e imutável. Em seguida, eles podem escalar os seus privilégios.
Embora não seja uma vulnerabilidade container, ela pode ser usada a partir de um container Linux sem privilégios container sobrescrever binários como /usr/bin/sudo no host, injetar backdoors e pode ser usada para encadear exploits.
A única solução conhecida para esta vulnerabilidade é atualizar os seus hosts Linux para versões corrigidas do Kernel.
Gravidade: Elevada
4. Imagens base inseguras
As imagens base são a fundação de todos container cria e, se forem vulneráveis, a sua aplicação também o será. Infelizmente, ao criar contentores, muitas equipas ainda utilizam tags de imagem como ubuntu:latest ou node:alpine sem perceber que essas tags são alvos móveis.
A imagem mais recente que container seu container hoje pode ser diferente daquela que utilizará amanhã. Isso pode introduzir vulnerabilidades de segurança inesperadas.
Para mitigar essa vulnerabilidade, indique versões específicas e confiáveis (por exemplo, FROM debian:bullseye-20230912) em vez de usar tags como latest. E enquanto você usa versões confiáveis de uma imagem específica, lembre-se de fazer varreduras consistentes usando ferramentas como Aikido para detectar CVEs e vulnerabilidades AutoFix.
Você também deve verificar as imagens no seu container para corrigir vulnerabilidades antes que elas cheguem ao seu ambiente. Aikido também pode integrar e verificar imagens no seu container , seja ele o Docker Hub ou o Harbor.

Gravidade: Baixa → Crítica (dependendo das container e da utilização)
5. Socket irrestrito Socket do Docker
Montar o socket do Docker, normalmente localizado em (/var/run/docker.sock) num container, é uma das configurações incorretas mais perigosas em ambientes contentorizados. Isso concede ao container acesso container à API do Docker Engine, permitindo-lhe controlar todo o host. O que não é intrinsecamente mau; no entanto, um único container malicioso container significar que um invasor agora tem controlo sobre todo o seu host.
Às vezes, as equipas montam o socket do Docker socket permitir compilações "Docker-in-Docker" ou ferramentas de monitorização para gerenciar contentores, mas isso quase sempre é um atalho perigoso.
Para mitigar essa vulnerabilidade, nunca monte o socket do Docker socket contentores. Se precisar da funcionalidade Docker-in-Docker, ela deve ser isolada em ambientes de compilação rigidamente controlados usando Docker sem root, gVisor ou Kata Containers.
Se utilizar o Kubernetes, deve aplicar as Normas de Segurança de Pod ou políticas de admissão para impedir que os contentores acedam a recursos ao nível do anfitrião, como o socket Docker.
Gravidade: Crítica
6. CVE-2025-23266: Vulnerabilidade da NVIDIA AI (falha de acesso à GPU)
IA e ML foram os assuntos mais discutidos no último ano. Isso porque mudaram a forma como trabalhamos e vivemos em geral.
CVE-2025-23266 é umaescape que afeta o NVIDIA Container e o GPU Operator, que nos permite criar e executar contentores acelerados por GPU.
OContainer usa ganchos OCI (Open Container ) (script personalizado ou binários) para configurar contentores para acesso à GPU. Um desses ganchos, enable-cuda-compat, herda variáveis de ambiente do container. Isso abre a porta para um invasor criar uma imagem maliciosa que define LD_PRELOAD para referenciar uma biblioteca partilhada maliciosa.
Quando o gancho privilegiado é executado, a biblioteca é carregada no host, fora da área restrita container, concedendo efetivamente ao invasor acesso root no nó.
Em clusters de GPU com vários utilizadores, isso cria um sério risco de fuga de dados entre utilizadores e comprometimento de nós.
A NVIDIA lançou versões corrigidas de ambos os componentes. A atualização para o Toolkit v1.17.8 e o GPU Operator 25.3.1 ou a desativação de um gancho opcional atenua a vulnerabilidade.
Gravidade: Importante
7. Secrets revelados
O relatório « » (Custo de uma violação de dados) da IBM para 2025 revela que as violações de dados causadas por credenciais comprometidas foram as que demoraram mais tempo a identificar e conter. Com o custo médio de uma violação de dados a atingir os 4,4 milhões de dólares, as organizações não podem dar-se ao luxo de ter secrets expostos.
No entanto, continuam a ser um dos erros mais comuns cometidos pelos programadores. Esses secrets credenciais confidenciais, como chaves API, palavras-passe, chaves de encriptação, chaves privadas e muito mais, que podem permitir que invasores acessem ou roubem dados confidenciais.
Os programadores podem divulgar secrets contentores Docker através de:
- Dockerfiles (instruções ENV ou ARG)
- Arquivos .env copiados para camadas de imagem, etc.
O mais assustador é que, mesmo depois de um container eliminado, se a imagem ainda estiver presente (ou enviada para um registo), os secrets permanecer acessíveis.
As hipóteses de a sua organização ter divulgado secrets elevadas. Mas o que pode fazer a esse respeito neste momento?
Bem, pode e deve:
- Encontre quaisquer secrets ativos secrets , em seguida,
- Evite que qualquer novo caso chegue à produção.
Existem também algumas soluções que oferecem um recurso de deteção de segredos em tempo real que pode ajudá-lo a avaliar os riscos secrets expostos.

Gravidade: Alta
8. Vulnerabilidades Container
Como mencionado anteriormente, não se deve executar contentores como utilizadores root. Embora isso não dê acesso automático ao host, como já foi visto, aumenta significativamente o risco de fuga quando combinado com outras vulnerabilidades, como CVE-2022-0492, ou configurações incorretas em montagens e capacidades de volume.
Além de executar contentores como utilizadores root, existem outras formas pelas quais um container ficar vulnerável devido a privilégios. Isso é particularmente verdadeiro ao usar um container como o Kubernetes, que cria, modifica e exclui contentores automaticamente.
Com CVE-2023-2640 e CVE-2023-32629, um invasor pode usar um container sem privilégios de root container montagem de volume para escalar privilégios.
No Kubernetes, você usaria o Contexto de Segurança para definir as configurações de privilégios e controlo de acesso para um container.
No contexto de segurança acima:
- runAsNonRoot: true: Garante que container iniciado como UID 0
- runAsUser: 1000: Executa explicitamente o container um utilizador não root
- allowPrivilegeEscalation: false: Bloqueia setuid ou outra escalação
- capabilities.drop: [ALL]: Remove todas as capacidades Linux por predefinição
Gerenciar container e acesso container requer compreensão do comportamento da sua aplicação. Por exemplo, se não fizer nenhuma gravação no disco, deve montar todos os volumes associados como somente leitura, reduzindo ainda mais a superfície de ataque.
Leia o nosso guia sobre vulnerabilidades de escalonamento container e como se proteger contra elas.
Gravidade: Alta → Crítica
9. gh0stEdit: Vulnerabilidade de acesso baseada em camadas
As imagens Docker são concebidas para garantir que os seus utilizadores finais possam avaliar e ver claramente o conteúdo de uma imagem antes de a executar.
Mas, no caso do gh0stEdit, essa visibilidade não importa.
Embora não seja um CVE formal, o gh0stEdit (nome dado pelos seus investigadores) descreve uma nova vulnerabilidade em que um invasor pode manipular imagens Docker (mesmo assinadas com o Docker Content Trust) sem quebrar a assinatura da imagem ou a detecção por varreduras estáticas/dinâmicas.

Figura 1: Ignorando a integridade da imagem do Docker: camadas alteradas, manifesto inalterado. Fonte (Hackernoon)
Essa manipulação é possível porque o Docker se concentra no manifesto (a receita que lista as camadas da imagem e seus resumos), e não em cada arquivo dentro de cada camada.
Se um invasor injetar um script malicioso numa camada, o container , ignorando o Dockerfile, o processo de compilação e as verificações de registo. Ele pode se espalhar silenciosamente por todo o sistema.
A correção e a defesa contra o gh0stEdit envolvem várias etapas, incluindo:
- Reconstruir sempre container a partir de fontes confiáveis
- Assinatura e verificação de container com ferramentas como o cosign
- Verificação de vulnerabilidades e conteúdo com ferramentas como Aikido complementam os scanners de código aberto com regras personalizadas, preenchendo lacunas e revelando falhas de segurança.
- Usar um controlador de admissão para impedir que imagens não assinadas ou não verificadas sejam executadas dentro do seu cluster.
Gravidade: Baixa → Crítica (dependendo das container e da superfície de ataque)
Construindo uma postura de segurança resiliente para o Docker
Conforme exploramos neste artigo, vulnerabilidades como container runC, imagens base não verificadas, secrets expostos e privilégios excessivos podem comprometer silenciosamente todo o seu ambiente.
Implementar uma postura de segurança resiliente do Docker significa ir além das verificações de caixas de seleção e adotar defesas contextuais, sensíveis ao tempo de execução e orientadas por políticas que localizam e corrigem vulnerabilidades automaticamente.
Na Aikido, adoramos projetos de código aberto consolidados, como o Trivy, Syft e Grype. Mas também sabemos por experiência própria que usá-los isoladamente não é uma experiência particularmente boa para os desenvolvedores.
Aikido esses projetos com regras personalizadas para preencher lacunas e revelar falhas de segurança que você não conseguiria encontrar de outra forma. Ao contrário do encadeamento de várias ferramentas de código aberto, Aikido você da necessidade de criar um script de verificação ou uma tarefa personalizada no seu CI/CD.
Há sempre mais a aprender sobre a segurança do Docker. Para responder a mais perguntas sobre como manter o Docker seguro, consulte a nossa lista de verificação de segurança do Docker para desenvolvedores preocupados com vulnerabilidades.
Proteja seu software agora


.avif)
