Skip to main content

Kestra CVE-2026-49984

| EUVDEUVD-2026-39920 HIGH
Path Traversal (CWE-22)
2026-06-26 GitHub_M
7.7
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as execution-viewer
  2. Delivery
    Open a visible execution
  3. Exploit
    Request file with '..\..\..\' backslash path
  4. Execution
    Bypass validation, path canonicalized before open
  5. Persist
    Read H2 DB, secrets, /proc/self/environ
  6. Impact
    Harvest 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

kestra 1.1.0, < 1.3.23
kestra < 1.0.45

Affected Packages

euvd kestra fix: 1.0.45, 1.3.23

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

Vendor (GitHub_M) PRIMARY 7.7 HIGH
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
vuln.today AI 7.7 HIGH

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

2
Patch available
Jun 26, 2026 - 23:02 EUVD
CVE Published
Jun 26, 2026 - 20:55 cve.org
HIGH 7.7

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.4%
Top 72% exploitable
Prevalence
Medium
popular open-source orchestration platform, moderate but growing enterprise adoption
Social Media
2
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

More in Kestra

View all
CVE-2026-49869 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to

CVE-2026-53576 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution in Kestra orchestration platform before 1.0.45 and 1.3.21 lets anonymous attackers

CVE-2026-55839 HIGH POC
8.7 Aug 18

Stored cross-site scripting in Kestra's custom Markdown renderer (versions before 1.3.24) allows any authenticated user

CVE-2026-29082 HIGH POC
7.3 Mar 06

Kestra versions 1.1.10 and earlier allow authenticated users to perform cross-site scripting (XSS) attacks through the e

CVE-2026-34612 CRITICAL
9.0 Apr 03

SQL injection in Kestra orchestration platform's flow search endpoint (GET /api/v1/main/flows/search) enables remote cod

CVE-2026-55069 HIGH
8.7 Jun 26

Offline administrator password recovery in Kestra OSS (versions prior to 1.3.24) stems from its BasicAuth component stor

CVE-2026-45807 HIGH
7.7 Jun 26

Arbitrary file read in Kestra orchestration platform (versions prior to 1.0.43 and 1.3.19) lets an authenticated user wi

CVE-2026-33664 HIGH
7.3 Mar 26

Cross-site scripting in Kestra orchestration platform versions up to 1.3.3 enables authenticated flow authors to inject

CVE-2026-48129 MEDIUM
6.5 Jun 19

Path traversal in Kestra's `inputFiles` task mechanism allows remote attackers to write arbitrary files to the worker fi

CVE-2026-53577 MEDIUM
6.5 Jun 26

Unauthorized file read in Kestra's execution preview API allows any authenticated tenant user to access output files fro

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy