Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach Kestra API over network
-
DeliveryRequest path ending in /configs
-
ExploitBypass AuthenticationFilter suffix check
-
ExecutionCreate arbitrary workflow unauthenticated
-
PersistTrigger shell/Python script task
-
ImpactExecute code as root in worker container
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires only network reachability to the Kestra OSS API on a vulnerable version (below 1.0.45 / 1.3.21) and that the default-bundled script-execution plugins (plugin-script-shell, plugin-script-python, etc.) remain enabled - both of which hold in a default installation, so no authentication, user interaction, or non-default setting is needed. The specific trigger is sending an API request whose path's final segment is 'configs', which the endsWith() whitelist treats as the unauthenticated public config endpoint. Limiting factors that reduce real-world exposure: the API must be network-accessible to the attacker (internal-only or segmented deployments are harder to reach), and environments that have removed/disabled the script plugins lose the auth-bypass-to-RCE escalation though the auth bypass itself remains. |
| Impact | Every available signal points to top-tier, immediately actionable risk. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H = 10.0) describes network-reachable, low-complexity, unauthenticated exploitation with full confidentiality, integrity, and availability impact and a scope change, which aligns precisely with the described auth-bypass-to-root-RCE chain - there is no contradiction between the vector and the description. The flaw is automatable (no user interaction, deterministic suffix-match bypass) and yields total technical impact, the kind of profile that an SSVC framework would push toward immediate 'Act'. The mitigating factor is reach: exploitation requires network access to the Kestra API, so internet-exposed or broadly-networked instances are at far higher risk than tightly segmented internal deployments. Notable data gaps: this CVE is NOT listed in CISA KEV, no EPSS score was provided, and no public proof-of-concept was supplied, so active or widespread exploitation cannot be asserted - but the trivial nature of the bug (a one-character logic error reachable pre-auth) means weaponization would be straightforward once details are public, and the underlying GitHub Security Advisory discloses the root cause. |
| Exploit ScenarioDerived | An attacker who can reach the Kestra API over the network sends a crafted request to an endpoint whose path ends in 'configs', which the AuthenticationFilter wrongly treats as the public config endpoint and serves without credentials. Using this unauthenticated access the attacker creates and triggers a workflow containing a shell or Python script task, which the default-enabled plugins execute as root inside the worker container, yielding full remote code execution. No public exploit was identified at time of analysis, but the bug is trivial to reproduce from the advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 26, 2026
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to versions 1.0.45 and 1.3.21, where a flawed authentication whitelist lets attackers reach protected API endpoints without credentials. The AuthenticationFilter exempts the public config endpoint using a suffix match (request.getPath().endsWith("/configs")) instead of an exact path match, so any API path ending in 'configs' bypasses Basic Auth, allowing an attacker to create and run arbitrary workflows. Because the default-enabled script-execution plugins (shell, Python) run inside the worker container as root, this escalates directly to unauthenticated RCE. Carries a maximal CVSS of 10.0; there is no public exploit identified at time of analysis.
RemediationAI
Upgrade immediately to Kestra 1.0.45 (for the 1.0.x line) or 1.3.21 (for the 1.3.x line), which replace the suffix match with a correct exact-path check; these are the vendor-released patched versions per advisory GHSA-5vc5-wxxq-3fjx (https://github.com/kestra-io/kestra/security/advisories/GHSA-5vc5-wxxq-3fjx). If patching cannot be done immediately, restrict network access to the Kestra API so it is not reachable from untrusted networks (place it behind a VPN or IP allowlist), and front it with a reverse proxy or WAF rule that enforces authentication and blocks/normalizes request paths whose last segment is 'configs' except the exact legitimate '/configs' route - note this proxy rule is fragile against path-normalization tricks and must be tested carefully. As defense in depth until upgraded, consider disabling or removing the default script-execution plugins (plugin-script-shell, plugin-script-python, etc.) to break the bypass-to-RCE chain, accepting that this disables shell/Python task functionality for legitimate workflows, and run the worker container as a non-root, least-privilege user to limit blast radius.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Kestra is a Java-based workflow orchestration engine whose REST API gates access through a servlet-style AuthenticationFilter applying HTTP Basic Auth. The vulnerability is rooted in a broken access-control whitelist: the filter intends to leave only the public '/configs' configuration endpoint unauthenticated, but it tests the request path with endsWith("/configs") rather than an exact equality or normalized-route comparison. This suffix matching means crafted paths whose final segment is 'configs' (e.g. an execution/creation route ending that way) are wrongly treated as the public endpoint and skip authentication entirely. The downstream impact is classed as CWE-78 (OS Command Injection) because Kestra bundles script-execution plugins (plugin-script-shell, plugin-script-python, etc.) enabled by default; a workflow task can therefore invoke shell/Python commands that execute as the root user inside the worker container. The CPE cpe:2.3:a:kestra-io:kestra:*:*:*:*:*:*:*:* identifies all Kestra versions below the fixed releases as affected.
Know when Kestra gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Network-reachable, low-complexity suffix-match bypass needs no privileges or interaction; auth-filter compromise leading to root RCE in the worker crosses a security boundary, so S:C with full C/I/A impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Kestra is an open-source, event-driven orchestration platform. Prior to 1.0.45 and 1.3.21, AuthenticationFilter in Kestra OSS uses request.getPath().endsWith("/configs") to whitelist the public configuration endpoint from Basic Auth. Because the check is a suffix match rather than an exact path match, any API path whose last segment is configs bypasses authentication entirely. An unauthenticated remote attacker can exploit this to create and execute arbitrary workflows without credentials. Because Kestra ships with script execution plugins (plugin-script-shell, plugin-script-python, etc.) enabled by default, this directly results in unauthenticated Remote Code Execution as root inside the Kestra worker container. This vulnerability is fixed in 1.0.45 and 1.3.21.
Articles & Coverage 2
Executive ViewAI
Kestra OSS versions prior to 1.0.45 and 1.3.21 contain an unauthenticated remote code execution vulnerability that allows attackers to bypass authentication, create arbitrary workflows, and execute commands with root privileges on worker containers. This directly compromises workflow integrity and enables lateral movement to downstream systems. Organizations using affected versions face immediate exploitation risk regardless of network segmentation.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Unauthenticated remote code execution in Kestra orchestration platform before 1.0.45 and 1.3.21 lets anonymous attackers
Stored cross-site scripting in Kestra's custom Markdown renderer (versions before 1.3.24) allows any authenticated user
Kestra versions 1.1.10 and earlier allow authenticated users to perform cross-site scripting (XSS) attacks through the e
SQL injection in Kestra orchestration platform's flow search endpoint (GET /api/v1/main/flows/search) enables remote cod
Offline administrator password recovery in Kestra OSS (versions prior to 1.3.24) stems from its BasicAuth component stor
Arbitrary file read in Kestra orchestration platform (versions prior to 1.0.43 and 1.3.19) lets an authenticated user wi
Authenticated path traversal in Kestra's local internal-storage backend (versions prior to 1.0.45 and 1.3.23) lets any l
Cross-site scripting in Kestra orchestration platform versions up to 1.3.3 enables authenticated flow authors to inject
Path traversal in Kestra's `inputFiles` task mechanism allows remote attackers to write arbitrary files to the worker fi
Unauthorized file read in Kestra's execution preview API allows any authenticated tenant user to access output files fro
EUVD-2026-39922
NVD
CVE.org
CISA KEV
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB