T03 · Remote Payload Retrieval and Execution
- Location
build/full/full_builder.sh:113- Finding
Unverified Remote Docker Installer Is Downloaded and Executed
- Content
View full analysis
/dev/null; then if [ "$(uname)" = "Linux" ]; then log "🐳 安装 Docker..." curl -fsSL https://get.docker.com -o /tmp/get-docker.sh sh /tmp/get-docker.sh rm /tmp/get-docker.sh fi fi ``` ### Technical Analysis The deployment process downloads a mutable shell script from `https://get.docker.com` and immediately executes it. The script is not pinned to a specific version and is not verified using a trusted signature or hard-coded digest. Downloading the script to a temporary file before invoking `sh` is security-equivalent to piping `curl` directly into a shell. The effective code can change after this Skill has been reviewed. The temporary path is also predictable. Although exploitation through replacement depends on local permissions and timing, a securely created temporary file should be used for any downloaded artifact. ### Attack Path 1. A user invokes the full local deployment on a Linux system without Docker. 2. The script downloads the current content served by `get.docker.com`. 3. An attacker compromises the source, DNS resolution, the TLS trust chain, or another part of the delivery infrastructure. 4. The modified response is saved as `/tmp/get-docker.sh`. 5. The deployment process executes the response with the privileges of the invoking user. 6. If deployment is run as root or through privileged automation, the payload obtains system-wide control. ### Impact Assessment Successful exploitation permits arbitrary command execution. The payload receives the same privileges as the deployment process, which may include root privileges because Docker installation commonly requires administrative access. Potential consequences include credential theft, host compromise, persistent service installation, fil ...[truncated 74 chars]- Remediation
View remediation
