T03 · Remote Payload Retrieval and Execution
- Location
scripts/auto-setup.sh:84- Finding
Unverified Remote Installer and Executable Are Downloaded and Run
- Content
View full analysis
Vulnerability Details
File Location:
scripts/auto-setup.sh:84-99
Additional Location:references/setup-guide.md:12-21
Vulnerability Type: Remote payload retrieval and execution
Risk Level: CriticalVulnerable Code
bash case "$choice" in 1) info "Installing standard Ollama..." run sh -c 'curl -fsSL https://ollama.com/install.sh -o /tmp/ollama-install.sh && sh /tmp/ollama-install.sh && rm -f /tmp/ollama-install.sh' run sudo systemctl start ollama 2>/dev/null || { warn "Could not start via systemctl (need sudo?). Trying ollama serve..."; run ollama serve & } log "Ollama installed" ;; 2) info "Installing Intel Ollama..." INTEL_DIR="/opt/ollama-intel" warn "This requires sudo access to write to /opt and /usr/local/bin." run sudo mkdir -p "$INTEL_DIR" info "Downloading Intel Ollama from GitHub releases..." run sudo curl -L -o "$INTEL_DIR/ollama" "https://github.com/intel/ollama/releases/latest/download/ollama-linux-amd64" run sudo chmod +x "$INTEL_DIR/ollama" run sudo ln -sf "$INTEL_DIR/ollama" /usr/local/bin/ollamaThe manual setup guide also recommends:
bash curl -fsSL https://ollama.com/install.sh | shTechnical Analysis
The setup process downloads mutable remote content and immediately executes or installs it without verifying a cryptographic checksum or signature. Saving the installer temporarily before running it is functionally equivalent to
curl | shwhen no integrity verification occurs.The Intel installation is especially sensitive because it uses a mutable
latestrelease URL and installs the resulting executable into a system command path usingsudo. HTTPS authenticates the connection to the selected host but does not guarantee that the host, release account, build pipeline, or mutable asset has not been comp ...[truncated 1093 chars]- Remediation
View remediation
Remediation Suggestions
- Replace mutable URLs with a specific, pinned release version.
- Publish the expected SHA-256 digest and verify it before execution.
- Prefer signed packages from a trusted package manager.
- Download the installer without running it and show the user its path, source, version, and digest.
- Require separate, explicit confirmation before executing downloaded content.
- Do not use
latestrelease URLs for privileged installation. - Avoid installing into system paths when a user-scoped installation is sufficient.
- Remove the
curl | shrecommendation from the manual setup guide.
