T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:95
- Finding
- Unverified Remote Docker Installation Script Executed Directly by a Privileged Shell<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 95-96 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ```bash apt install -y curl curl -fsSL https://get.docker.com | sh ``` ### Technical Analysis The installation instructions download a mutable shell script from `https://get.docker.com` and immediately pipe its contents into `sh`. Because Docker installation normally requires administrative access, users are likely to run this command as `root` or through an already privileged shell. HTTPS provides transport authentication and encryption, but the command does not pin the expected script version or checksum. It also gives the user no opportunity to inspect the downloaded content before execution. Consequently, the effective code executed by the Skill can change after the Skill itself has been reviewed. Exploitation would require the official endpoint or its upstream delivery infrastructure to be compromised, DNS or trust infrastructure to be subverted, or the remote script to be changed in an unsafe manner. Any commands inserted into the retrieved script would run with the privileges of the invoking shell. ### Attack Path 1. A user or agent follows the Proxmox Docker setup instructions. 2. The command retrieves the current script hosted at `get.docker.com`. 3. The remote response is passed directly to `sh` without local inspection, checksum verification, or version pinning. 4. If the response contains malicious or compromised commands, those commands execute immediately. 5. When run as `root`, the payload can modify system files, install services, access local application data and secrets, or deploy additional persistent components. ### Impact Assessment Successful exploitation can provide arbitrary command execution with the privileges used for installation. In the expected administrative context, this may amount to full host compromise, including: - Reading or modifying system and applicati ...[truncated 497 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions Replace the `curl | sh` installation method with a documented package-repository installation process: 1. Configure Docker's official repository over HTTPS. 2. Download the official signing key over HTTPS and verify its documented fingerprint. 3. Store the key in a dedicated keyring and scope repository trust with `signed-by`. 4. Install explicitly selected and, where operationally feasible, version-pinned Docker packages. 5. Record the selected versions so deployments can be reproduced and audited. If use of the convenience script is unavoidable: 1. Download it to a local file rather than piping it into a shell. 2. Pin the exact script release or expected cryptographic digest. 3. Verify the digest before execution. 4. Review the script and preserve a copy for audit purposes. 5. Execute it only after explicit user approval and with the minimum privileges required. ]]>
