GhostLock: O Exploit que Quebra Containers e Torna Root em 3 Minutos

GhostLock: O Exploit que Quebra Containers e Torna Root em 3 Minutos
CVE-2026-43499. CVSS 9.8. Um use-after-free de 16 anos no subsistema de file locking do kernel Linux.
Enquanto desenvolvedores confiam em Docker, Kubernetes e cloud para isolar workloads, um exploit silencioso demonstrou que namespaces e cgroups não são barreiras suficientes quando o ataque ocorre no nível do kernel.
O Que É o GhostLock?
GhostLock é um vulnerability de privilege escalation que explora uma race condition no subsistema de file locking do kernel Linux (fcntl/flock). O ataque utiliza um use-after-free em struct file_lock para sobrescrever ponteiros de função no kernel space.
O resultado: qualquer processo — mesmo dentro de um container unprivileged — consegue executar código arbitrário como root no host.
Dados críticos:
Por Que Containers Não Protegem
A premissa fundamental dos containers é o isolamento via namespaces e cgroups. Porém, todos os containers compartilham o mesmo kernel do host.
Quando o GhostLock ataca o subsistema de file locking, ele está atacando o kernel — não o userspace do container. Namespaces e cgroups não impedem que o exploit acesse estruturas do kernel.
Cenários Vulneráveis
Docker e ECS: Containers Docker usam namespaces do kernel para isolar processos, rede e filesystem. Mas o kernel é compartilhado. GhostLock pula direto do namespace do container para o kernel space.
KVM e VMs: Mesmo em máquinas virtuais, o hypervisor KVM compartilhar o kernel com o host. Se o kernel do guest é vulnerável, o exploit pode afetar o host.
gVisor e Kata Containers: Estas soluções implementam um kernel próprio (gVisor) ou micro-VM (Kata). São as únicas defesas efetivas porque o exploit falha — não há kernel vulnerável para atacar.
Alvos Críticos
1. CI/CD Runners (GitHub Actions, GitLab CI)
Runners de CI/CD são multi-tenant por natureza. Código de múltiplos repositórios executa no mesmo kernel. Um PR malicioso pode conter o exploit GhostLock e escalar para root no runner.
2. Bancos de Dados Compartilhados (RDS, Cloud SQL)
Serviços de banco de dados gerenciados frequentemente compartilham o kernel entre múltiplos tenants. Um escape de container resulta em vazamento de dados de todos os clientes.
3. SaaS Multi-Tenant
Aplicações SaaS que rodam em containers compartilhados estão expostas. Se um cliente explora o GhostLock, acessa dados de todos os outros clientes.
4. Kubernetes Clusters
Em clusters K8s, um pod comprometido pode escalar para node/cluster takeover. O exploit ataca o kernel do node, não do pod.
Versões Vulneráveis e Patches
O GhostLock afeta todas as versões do kernel Linux até o patch de segurança:
| Distribuição | Versão Mínima Patched | |-------------|----------------------| | Ubuntu 22.04/24.04 | linux-image-5.15.0-117+ / 6.8.0-40+ | | Debian 12 | 6.1.94+ | | RHEL 9 | 5.14.0-427+ | | AWS AL2023 | 6.1.94+ | | Azure Ubuntu | 5.15.0-1134+ | | GCP COS | 113-18717+ |
Para verificar sua versão:
``bash
uname -r
`
Ação Imediata: Checklist de Resposta
Passo 1: Patch Obrigatório
- Execute uname -r` para verificar a versão do kernel
- Aplique o patch de segurança para sua distribuição
- Reinicie o servidor — live patching NÃO cobre KVM
Passo 2: Defesa em Profundidade
Enquanto o reboot não é possível, implemente camadas adicionais:
gVisor / Kata Containers: Para workloads sensíveis, use sandboxes com kernel próprio. Se o host é comprometido, o exploit falha no guest.
seccomp Profiles: Bloqueie chamadas de sistema suspeitas, especialmente fcntl e flock com argumentos anômalos.
Falco / Sysdig: Implemente detecção de anomalias em tempo real. Monitore tentativas de escape de container.
AMD SEV-SNP / Intel TDX: Para workloads de máxima segurança, use hardware isolation que previne que o kernel comprometido acesse memória de outros tenants.
Conclusão
GhostLock demonstrou que a假设 de que containers proporcionam isolamento completo é perigosa. O exploit ataca o kernel — e qualquer container que compartilhe esse kernel está vulnerável.
A resposta não é abandonar containers, mas sim:
A pergunta não é se você será afetado, mas quando. Prepare-se agora.
---
Você já patchou seus kernels? Comente qual distribuição e versão você está usando!
---
*Artigo originalmente publicado em [thiagolopesdev.com.br](https://thiagolopesdev.com.br)*