Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as execution-viewer
-
DeliveryOpen a visible execution
-
ExploitRequest file with '..\..\..\' backslash path
-
ExecutionBypass validation, path canonicalized before open
-
PersistRead H2 DB, secrets, /proc/self/environ
-
ImpactHarvest cross-tenant credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated account with at least the execution-view role (the lowest-privilege role per CVSS PR:L) and a target Kestra instance configured to use the local internal-storage backend, which is what serves files through the GET /api/v1/{tenant}/executions/{executionId}/file endpoint. The specific trigger is supplying a path with Windows-style backslash traversal ('..\..\..\'), which is validated before backslash-to-forward-slash normalization. Limiting factors: the attacker must have valid credentials and visibility of at least one execution, the deployment must use the local (not object-store) backend, and disclosure is bounded to files readable by the Kestra process user; no user interaction is needed and impact is confidentiality-only (no write or denial of service). |
| Impact | The CVSS 3.1 vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N (base 7.7, High) is internally consistent with the description: network-reachable, low complexity, requires only the lowest authenticated role, no user interaction, scope-changed (sandbox/tenant escape), with high confidentiality impact and no integrity or availability impact. No EPSS score, KEV listing, or POC was provided, so there is no evidence of active or automated exploitation - the priority rests on the technical impact rather than on observed in-the-wild use. The realistic risk is high for any multi-tenant Kestra deployment using the local storage backend because the lowest-privilege role can read every tenant's secrets and the H2 database; for single-tenant, trusted-user, or non-local-backend deployments the practical exposure is lower. The one signal to verify is whether a given environment actually uses the local internal-storage backend and grants execution-view access broadly, since those are the real preconditions. |
| Exploit ScenarioDerived | A user holding only the execution-viewer role logs in, opens any execution they can see, and issues GET /api/v1/{tenant}/executions/{executionId}/file?path=..\..\..\proc/self/environ. The backslash-encoded traversal slips past the validation guard and is canonicalized just before the file is opened, returning the process environment containing database and secret-backend credentials; the attacker repeats this to dump the H2 database and other tenants' stored secrets. No public exploit is identified at time of analysis, but the network vector and low attack complexity make weaponization straightforward. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 26, 2026
Authenticated path traversal in Kestra's local internal-storage backend (versions prior to 1.0.45 and 1.3.23) lets any low-privilege user with execution-view access read arbitrary files on the host. The flaw stems from validation ordering: the guard checks for '..' sequences before backslashes are normalized to forward slashes, so a Windows-style '..\..\..\' payload bypasses the check and is rewritten to a real traversal only after validation. There is no public exploit identified at time of analysis, and EPSS/KEV signals are absent, but the confidentiality impact is severe because it breaks the multi-tenant storage isolation boundary.
RemediationAI
Upgrade to a fixed release: Vendor-released patch: Kestra 1.0.45 (for the 1.0.x line) or 1.3.23 (for the 1.3.x line), per advisory GHSA-qw4v-6w32-xx9h (https://github.com/kestra-io/kestra/security/advisories/GHSA-qw4v-6w32-xx9h). If immediate patching is not possible, restrict the lowest-privilege execution-view role so untrusted or broad user populations cannot call the executions file endpoint, and place a reverse proxy or WAF rule in front of GET /api/v1/{tenant}/executions/{executionId}/file to reject path parameters containing backslashes or encoded '..' sequences - note this can break legitimate filenames that contain backslashes and must be tested. Consider migrating off the local internal-storage backend to an object-store backend (e.g., S3/GCS) where filesystem traversal does not apply, and rotate any credentials potentially exposed via /proc/self/environ, the H2 database, or mounted secret files, since the bug yields plaintext secret disclosure.
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 an event-driven workflow orchestration platform whose 'local' internal-storage backend stores execution artifacts on the server filesystem and exposes them through GET /api/v1/{tenant}/executions/{executionId}/file?path=…. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory), specifically a validation-versus-canonicalization sequencing bug: the dot-dot guard runs against the raw input, then path separators are canonicalized (backslash → forward slash) afterward, so the sanitizer and the file-open call see two different strings. Because the rewrite happens immediately before the file is opened, the traversal escapes the storage sandbox and crosses tenant/namespace boundaries, reaching the embedded H2 database, other tenants' internal storage, mounted secret files, and /proc/self/environ. The single affected product per CPE is cpe:2.3:a:kestra-io:kestra:*:*:*:*:*:*:*:*.
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:L/UI:N/S:C/C:H/I:N/A:N
Network endpoint with low complexity, requires only the lowest authenticated role (PR:L); reading files outside the storage sandbox and across tenants is a scope change (S:C) with confidentiality-only 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.23, the local internal-storage backend validates user-supplied paths for .. traversal before it converts Windows-style backslashes to forward slashes. An attacker can therefore smuggle a traversal sequence past the guard using backslashes (..\..\..\); the guard sees a harmless string, and the path is only rewritten to ../../../ after validation, immediately before the file is opened. Any authenticated user who can view an execution (the lowest-privilege role) can call GET /api/v1/{tenant}/executions/{executionId}/file?path=… and read any file on the server filesystem readable by the Kestra process, outside the storage sandbox and across every tenant and namespace. This includes the embedded H2 database (all flows, all users, all stored secrets), internal storage of every other tenant/namespace, mounted secret files, and the process environment (/proc/self/environ) which contains configured database and secret-backend credentials. It is a complete breach of Kestra's storage isolation and multi-tenancy boundary. This vulnerability is fixed in 1.0.45 and 1.3.23.
Executive ViewAI
A security flaw in Kestra's file storage system (versions prior to 1.0.45 and 1.3.23) allows authenticated low-privilege users to bypass file-access restrictions and read sensitive files on affected systems. Multi-tenant Kestra deployments face potential exposure of configuration secrets, credentials, and user data across isolation boundaries.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict execution-view role to trusted administrators; (2) Deploy Kestra on isolated systems if handling multi-tenant workloads; (3) Apply host-level file-system access controls (SELinux, AppArmor) to restrict Kestra process permissions; (4) Implement encryption at rest for sensitive configuration data; (5) Enable audit logging to detect unauthorized file-access attempts.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to
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
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-39920
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB