Kestra is an open-source, event-driven orchestration platform. Prior to 1.0.45 and 1.3.21, the authentication filter for the REST API (@Filter("/api/v1/**")) treats any request whose path ends in /configs as the public instance-config endpoint and forwards it without a credential check. kestra addresses its resources by URL path segments that the caller chooses (/api/v1/{tenant}/flows/{namespace}, /api/v1/{tenant}/executions/{namespace}/{id}, /api/v1/{tenant}/namespaces/{namespace}/kv/{key}). An anonymous caller picks the literal configs as the final segment, and the request bypasses Basic-Auth entirely. Because the bypass reaches the flow-create and execution-trigger routes, an unauthenticated caller creates a flow containing a Shell or Process task and runs it. The task executes as root inside the kestra container. The official docker-compose.yml mounts /var/run/docker.sock, so root in the container reaches the host Docker daemon. This vulnerability is fixed in 1.0.45 and 1.3.21.
The authentication filter (@Filter("/api/v1/**")) treats any request whose path ends with the /configs segment as a public instance configuration endpoint and passes it without credential verification. An attacker can construct any string of URL segments so that the last one is literally 'configs', which causes Basic-Auth to be bypassed. This allows an anonymous user to access workflow creation and execution launch routes. They can then create a workflow containing a Shell or Process task and run it immediately — the code will execute as root inside the Kestra container. Since the official docker-compose.yml mounts /var/run/docker.sock, root access in the container allows interaction with the host's Docker daemon, resulting in complete takeover of the host system.
An unauthenticated attacker can execute arbitrary code as root in the Kestra container, and through the mounted Docker socket, gain full control over the host on which the container is running.
Kestra should be updated to version 1.0.45 or 1.3.21, in which the vulnerability has been fixed. Until an update is applied, it is recommended to restrict network access to the Kestra REST API exclusively to trusted hosts and to consider removing the mounting of /var/run/docker.sock in the docker-compose configuration.
Kestra in versions earlier than 1.0.45 and earlier than 1.3.21
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HKestra
APPKestra< 1.0.451.1.0 – 1.3.21 (bez)
Related vulnerabilities
Kestra: Auth Bypass umożliwiający nieuwierzytelniony RCE jako root
SQL Injection w Kestra — wstrzykiwanie zapytań przez parametr GET
SQL Injection prowadzący do RCE w platformie Kestra (endpoint wyszukiwania flows)
Kestra is an open-source, event-driven orchestration platform. Prior to 1.3.24, this vulnerability exists in t...
Kestra is an open-source, event-driven orchestration platform. Prior to 1.0.43 and 1.3.19, several Kestra API ...