Executive brief
Nuclio, an open-source serverless platform, contains a vulnerability in how it handles scheduled tasks (cron triggers). An attacker can provide malicious input that allows them to execute arbitrary commands on the underlying server with root privileges. This could lead to a total takeover of the system, theft of sensitive credentials, and a persistent foothold in the environment that remains even after the original task is deleted.
Technical details
The Nuclio controller constructs a shell command for Kubernetes CronJobs by concatenating user-supplied event headers and body content into a 'curl' invocation string. Specifically, 'event.headers' keys are interpolated verbatim into double-quoted arguments, allowing an attacker to break the quoting context with a double-quote character. Additionally, 'event.body' is processed using 'strconv.Quote', which fails to escape shell command substitution characters like '$()'. An attacker can exploit these paths to achieve Remote Code Execution (RCE) as root. Because the resulting CronJobs lack 'ownerReferences', they may persist in the cluster even after the parent NuclioFunction is deleted. The vulnerability is fixed in version 1.16.4.
Affected products
- Nuclio Nuclio <= 1.15.27
Timeline
- 2026-05-17: other: Vulnerability verified on version 1.15.27
- 2026-06-01: patched: Initial patch commit released
- 2026-07-08: advisory: GitHub Advisory published