T03 · Remote Payload Retrieval and Execution
- Location
providers/dropbox.sh:12- Finding
Unverified Remote Installer Is Executed with Root Privileges
- Content
View full analysis
/dev/null || curl https://rclone.org/install.sh | bash ;; Linux) curl https://rclone.org/install.sh | sudo bash ;; ``` ```bash # providers/gdrive.sh:30-31 Darwin) brew install rclone 2>/dev/null || curl https://rclone.org/install.sh | bash ;; Linux) curl https://rclone.org/install.sh | sudo bash ;; ``` ```bash # providers/s3.sh:11 case "$(uname -s)" in Darwin) brew install rclone 2>/dev/null || curl https://rclone.org/install.sh | bash ;; Linux) curl https://rclone.org/install.sh | sudo bash ;; esac ``` ```bash # providers/webdav.sh:11 case "$(uname -s)" in Darwin) brew install rclone 2>/dev/null || curl https://rclone.org/install.sh | bash ;; Linux) curl https://rclone.org/install.sh | sudo bash ;; esac ``` ### Technical Analysis These provider setup functions download a mutable shell script and immediately execute it. The downloaded content is not pinned to a particular version and is not verified using a cryptographic checksum or trusted release signature. On Linux, the downloaded script is passed to `sudo bash`, granting the remote payload root privileges. Although `rclone.org` is the expected upstream domain, this design makes DNS, TLS trust, upstream hosting, and the mutable installer script part of the trusted execution boundary. This exceeds the minimum privileges needed to configure a storage provider. Installing `rclone` does not inherently require executing arbitrary, unreviewed network content as root. ### Attack Path 1. A user selects Dropbox, Google Drive, S3, or WebDAV. 2. The system does not have `rclone` installed. 3. Provider setup downloads `https://rclone.org/install.sh`. 4. An up ...[truncated 671 chars]- Remediation
View remediation
