Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Network-reachable auth bypass with no privileges or interaction (AV:N/AC:L/PR:N/UI:N); container-to-host pivot via Docker socket is a scope change (S:C) with full C/I/A loss.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
3DescriptionCVE.org
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.
Articles & Coverage 1
AnalysisAI
Unauthenticated remote code execution in Kestra orchestration platform before 1.0.45 and 1.3.21 lets anonymous attackers fully compromise the host. The REST API authentication filter treats any request path ending in /configs as the public instance-config endpoint, so an attacker appending the literal segment configs (e.g. to flow-create or execution-trigger routes) bypasses Basic-Auth, creates a flow with a Shell/Process task, and executes commands as root inside the container; with the default docker-compose mounting /var/run/docker.sock, this pivots to the host Docker daemon. No public exploit identified at time of analysis, but the technique is fully described in the vendor advisory and is trivially reproducible.
Technical ContextAI
Kestra is an event-driven, open-source workflow orchestration platform whose REST API routes resources by caller-chosen URL path segments (e.g. /api/v1/{tenant}/flows/{namespace}, /api/v1/{tenant}/executions/{namespace}/{id}, /api/v1/{tenant}/namespaces/{namespace}/kv/{key}). The Micronaut security filter bound to @Filter("/api/v1/**") uses a naive suffix check: any path ending in /configs is forwarded as the unauthenticated public instance-config endpoint. The root cause maps to CWE-94 (Improper Control of Generation of Code / code injection) because the auth bypass exposes flow-create and execution-trigger routes, allowing an attacker to inject and run arbitrary Shell or Process task code. The affected component is cpe:2.3:a:kestra-io:kestra (all versions prior to the fixed releases). The CVSS scope change (S:C) reflects that code executes as root in the container and, via the bind-mounted Docker socket in the shipped docker-compose.yml, reaches the host Docker daemon - a security-authority boundary crossing from container to host.
RemediationAI
Vendor-released patch: upgrade to Kestra 1.0.45 (for the 1.0.x line) or 1.3.21 (for the 1.3.x line), per the advisory at https://github.com/kestra-io/kestra/security/advisories/GHSA-2q47-568g-9h4f. If immediate patching is not possible, block or restrict network access to the /api/v1/ endpoints at a reverse proxy or WAF and explicitly deny requests whose normalized path ends in /configs from unauthenticated sources (trade-off: this may break legitimate use of the public instance-config endpoint and must be applied to the post-normalization path to avoid trivial encoding bypasses). Additionally remove the /var/run/docker.sock bind mount from docker-compose.yml so that container RCE cannot pivot to the host Docker daemon (trade-off: Docker-based task runners that rely on the host socket will stop working). Restrict Kestra's network exposure to trusted internal networks and place it behind authenticated ingress until upgraded.
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac
Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post
Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten
Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build
Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config
Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per
Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l
Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c
Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.2.169 and Application prior to version 2
Same weakness CWE-94 – Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39919