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
- Upgrade Nuclio to 1.15.20 or later and redeploy functions so they pick up the new processor image.
- Limit who and what can invoke shell runtime functions, with network policies and authentication in front of the function ingress.
- Review service account permissions for function pods and remove cluster-wide rights they do not need.
- Audit function logs for odd values in the X-Nuclio-Arguments header.
- 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.