Safeguard
Vulnerability Analysis•

CVE-2026-29042: Command Injection in Nuclio Shell Runtime

Nuclio before 1.15.20 passes the X-Nuclio-Arguments header into shell commands (CVSS 9.8). Upgrade to 1.15.20 and tighten who can invoke functions.

Safeguard Security Team
3 min read

CVE-2026-29042 is a critical (CVSS 9.8) command injection in the Nuclio Shell Runtime before version 1.15.20. The runtime puts the X-Nuclio-Arguments header into shell commands without validation. Upgrade to 1.15.20 or later and limit who can invoke shell runtime functions.

What's affected

The record says Nuclio before 1.15.20 is affected, and 1.15.20 is the patched release. The GitHub advisory lists the Go module github.com/nuclio/nuclio at 1.15.9 and earlier in its structured range, with first patched version 1.15.20, so use 1.15.20 as your target.

The flaw is in the Shell Runtime component, so it matters if you deploy functions that use the shell runtime.

How to check if you're exposed

Check which Nuclio version your cluster runs, for example from the image tags of its controller and dashboard:

kubectl get pods -A -o jsonpath='{..image}' | tr ' ' '\n' | grep -i nuclio | sort -u

Then list functions that use the shell runtime in your Nuclio projects. Those are the ones where the header matters.

What to do now

  1. Upgrade Nuclio to 1.15.20 or later and redeploy functions so they pick up the new processor image.
  2. Limit who and what can invoke shell runtime functions, with network policies and authentication in front of the function ingress.
  3. Review service account permissions for function pods and remove cluster-wide rights they do not need.
  4. Audit function logs for odd values in the X-Nuclio-Arguments header.
  5. Prefer other runtimes for new functions where the shell runtime is not required.

Why it matters

The record lists CWE-75 (failure to sanitize special elements into a different plane), and the advisory recommends classing it as OS command injection. The runtime read a header, split it on spaces and handed the pieces to a shell with no validation. A shell treats many characters as operators, so input that should be an argument can become a command.

The advisory describes the follow-on risk: code running in the function container, which can reach the pod's service account token, and in the worst case a cluster-wide compromise when that account is highly privileged. The reach of the bug depends on how your cluster grants rights, so least privilege for function pods is the safety net.

The record does not mark the CVE as exploited in the wild.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

Is this only a risk for people who can invoke functions?

The advisory describes attackers with function invocation permissions. If your function endpoints are open to the internet, that group may be very large.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.