High, CVSS 8.7GoPublished
KubeAI: OS Command Injection via Model URL in Ollama Engine startup probe allows arbitrary command execution in model pods
CVE-2026-34940 · GHSA-324q-cwx9-7crr
- Affected
- Go github.com/kubeai-project/kubeai <= 0.23.1
- Fixed in
- 0.23.2· Vendor fix available
- Issue
- CHAMP: Description Summary The ollamaStartupProbeScript() function in internal/modelcontroller/engineollama.go constructs a shell command string using fmt.Sprintf with unsanitized model URL components (ref, modelParam). This shell command is executed via bash -c as a Kubernetes startup probe. An attacker who can create or update Model custom resources can inject arbitrary shell commands that execute inside model server pods. Details The parseModelURL() function in internal/modelcontroller/modelsource.go uses a regex (^([a-z0-9]+):\/\/([^?]+)(\?.)?$) to parse model URLs. The ref component (capture group 2) matches [^?]+, allowing any characters except ?, including shell metacharacters like ;, |, $(), and backticks. The ?model= query parameter (modelParam) is also extracted without any sanitization. Vulnerable code (permalink): This script is then used as a bash -c startup probe (permalink): Compare with the vLLM engine which safely passes the model ref as a command-line argument (not…
Recommended action: Upgrade to 0.23.2 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.