DigitalOcean Droplet Agent: Command Injection via Metadata Service Endpoint
High severity
GitHub Reviewed
Published
Mar 23, 2026
to the GitHub Advisory Database
•
Updated Mar 25, 2026
Package
Affected versions
<= 0.0.0-20260107162243-1101ffcb5672
Patched versions
None
Description
Published by the National Vulnerability Database
Mar 23, 2026
Published to the GitHub Advisory Database
Mar 23, 2026
Reviewed
Mar 25, 2026
Last updated
Mar 25, 2026
A command injection vulnerability exists in DigitalOcean Droplet Agent through 1.3.2. The troubleshooting actioner component (internal/troubleshooting/actioner/actioner.go) processes metadata from the metadata service endpoint and executes commands specified in the TroubleshootingAgent.Requesting array without adequate input validation. While the code validates that artifacts exist in the validInvestigationArtifacts map, it fails to sanitize the actual command content after the "command:" prefix. This allows an attacker who can control metadata responses to inject and execute arbitrary OS commands with root privileges. The attack is triggered by sending a TCP packet with specific sequence numbers to the SSH port, which causes the agent to fetch metadata from http://169.254.169.254/metadata/v1.json.
The vulnerability affects the command execution flow in internal/troubleshooting/actioner/actioner.go (insufficient validation), internal/troubleshooting/command/exec.go (direct exec.CommandContext call), and internal/troubleshooting/command/command.go (command parsing without sanitization). This can lead to complete system compromise, data exfiltration, privilege escalation, and potential lateral movement across cloud infrastructure.
References