Kestra: Unauthenticated RCE via /configs path-suffix auth-filter bypass
What fixes it
No source in this snapshot names a fixed version.
Timeline
- 26 Jun 2026, 20:54 UTCPublishedCVE List
- 27 Oct 2026, 06:16 UTCExploit code publicGitHub proof-of-concept repositories
Public exploit code and templates 1
- Scanner templateKestra <= 1.3.20 - Remote Code ExecutionNuclei
Listed so defenders can prioritize. Threatline links to the source and does not host exploit code.
Reports 1
1 outlet mention it. Reports are not confirmation; each links to its source.
Description
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.
Text from CVE List
Affected versions 2
- kestraaffected: < 1.0.45CVE List
- kestraaffected: >= 1.1.0, < 1.3.21CVE List