CVE-2026-48129 Overview
CVE-2026-48129 is a path traversal vulnerability [CWE-22] affecting Kestra, an open-source event-driven orchestration platform. The flaw resides in the handling of task inputFiles, where rendered file names are written directly under the task working directory without sanitization. When a flow forwards untrusted execution input or webhook data into an inputFiles file name, an attacker can inject ../ path segments. This allows creation or overwrite of arbitrary files outside the task working directory on the worker filesystem. The maintainers patched the issue in Kestra versions 1.3.19, 1.2.19, 1.1.19, and 1.0.43.
Critical Impact
Attackers can overwrite arbitrary files on Kestra worker hosts by injecting path traversal sequences into untrusted webhook or execution data consumed by inputFiles.
Affected Products
- Kestra versions prior to 1.0.43
- Kestra versions prior to 1.1.19 and 1.2.19
- Kestra versions prior to 1.3.19
Discovery Timeline
- 2026-06-19 - CVE-2026-48129 published to NVD
- 2026-06-23 - Last updated in NVD database
Technical Details for CVE-2026-48129
Vulnerability Analysis
Kestra flows can declare an inputFiles map that materializes files into the task working directory before execution. The platform renders file name keys using its template engine, then writes the resulting file under the worker's task directory. The renderer permits values sourced from execution inputs, triggers, and webhook payloads without validating the resolved path. When a flow author forwards such untrusted data into an inputFiles key, the attacker controls part of the destination path. By supplying ../ sequences, the writer resolves to a location outside the intended working directory.
Root Cause
The root cause is missing path containment validation on rendered inputFiles keys. Kestra does not canonicalize the resolved file path and verify that it remains within the task working directory before opening the file for write. This is a classic CWE-22 improper limitation of a pathname to a restricted directory.
Attack Vector
Exploitation requires a Kestra flow that maps untrusted input into an inputFiles file name. An attacker triggers the flow through an exposed webhook or execution API endpoint and supplies a value containing ../ segments. The worker then writes the file content to the attacker-chosen path with the privileges of the Kestra worker process. Successful exploitation can overwrite configuration files, scripts executed later in the pipeline, or shared artifacts, leading to integrity loss and potential downstream code execution. See the Kestra GHSA-q3fw-mvgv-pjr2 Security Advisory for technical details.
Detection Methods for CVE-2026-48129
Indicators of Compromise
- File writes by the Kestra worker process to paths outside the configured task working directory root.
- Webhook or execution payloads containing ../ sequences in fields bound to inputFiles keys.
- Unexpected modifications to flow definitions, plugin binaries, or shared configuration files on worker hosts.
Detection Strategies
- Audit flow definitions for inputFiles entries whose keys are rendered from {{ trigger.body }}, {{ inputs.* }}, or other externally controlled variables.
- Enable filesystem auditing on Kestra worker hosts and alert on writes outside /tmp/kestra-wd/ or the configured working directory root.
- Inspect Kestra execution logs for rendered file name values containing .. or absolute path prefixes.
Monitoring Recommendations
- Forward Kestra worker filesystem events and application logs to a centralized log platform for correlation.
- Monitor webhook endpoints for anomalous payload structures targeting inputFiles-bound fields.
- Track the running Kestra version across the fleet and alert when worker nodes report versions older than the patched releases.
How to Mitigate CVE-2026-48129
Immediate Actions Required
- Upgrade Kestra to 1.3.19, 1.2.19, 1.1.19, or 1.0.43 depending on the deployed release branch.
- Review all flows that consume webhook or execution data and remove direct bindings into inputFiles keys.
- Restrict network exposure of Kestra webhook and execution endpoints to trusted callers.
Patch Information
Kestra maintainers released fixes in versions 1.3.19, 1.2.19, 1.1.19, and 1.0.43. Patched releases enforce containment of rendered inputFiles paths within the task working directory. Refer to the Kestra GHSA-q3fw-mvgv-pjr2 Security Advisory for upgrade guidance.
Workarounds
- Sanitize untrusted input before binding it to inputFiles keys, rejecting values containing .. or path separators.
- Use static file names in inputFiles and pass dynamic data through file contents rather than file names.
- Run Kestra workers under least-privilege service accounts with restrictive filesystem permissions on sensitive directories.
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

