T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:23
- Finding
- Unverified Remote Script Downloaded and Executed Directly## Vulnerability Details **File Location**: `SKILL.md`, line 23 **Vulnerability Type**: Remote payload retrieval and immediate shell execution **Risk Level**: Critical **Vulnerable Code**: ```bash curl -fsSL https://ollama.com/install.sh | sh ``` ### Technical Analysis The installation command retrieves a mutable script from an external server and pipes it directly into `sh`. The script is executed before the user can inspect it, and the instructions provide no immutable version pin, cryptographic checksum, or publisher-signature verification. HTTPS protects the network connection but does not establish that every future version of the script is safe. If the hosting service, publisher account, domain infrastructure, or release process is compromised, the effective payload can be changed after this Skill has been reviewed. The `-f`, `-s`, and `-S` options also reduce normal output, limiting visibility into the retrieval process. ### Attack Path 1. An attacker compromises the remote script’s hosting infrastructure, publisher account, or release process. 2. The attacker replaces `https://ollama.com/install.sh` with a malicious or modified payload. 3. A user follows the Skill’s installation instructions. 4. `curl` downloads the current attacker-controlled response. 5. The pipe passes the response directly to `sh` without inspection or integrity verification. 6. The payload executes with the permissions of the invoking user and any additional privileges the user grants during installation. ### Impact Assessment The remote payload can exercise all permissions available to the shell process. Depending on the invoking account’s access, it could read or modify user files, install or replace software, alter shell configuration, access locally available data, or create additional persistence. The command does not itself demonstrate privilege escalation, and no malicious content from the referenced server was included in the ...[truncated 125 chars]
- Remediation
- ## Remediation Suggestions - Do not pipe network responses directly into a shell. - Prefer a signed, versioned package distributed through a trusted package manager or the publisher’s documented download channel. - If a script must be used, pin an immutable release and download it to a local file before execution. - Verify the downloaded file using a publisher signature or a SHA-256 digest obtained through a separately trusted channel. - Allow the user to inspect the downloaded script before running it. - Run installation with the least-privileged account possible and request elevated privileges only for narrowly defined operations. - Document how to verify, uninstall, and roll back the installed software. A safer workflow should follow this pattern, using a real publisher-provided digest rather than a placeholder: ```bash curl -fL -o ollama-install.sh "https://trusted.example/immutable-version/install.sh" echo "PUBLISHER_PROVIDED_SHA256 ollama-install.sh" | shasum -a 256 -c - less ollama-install.sh sh ollama-install.sh ```
