Kestra: Path traversal via URL-encoded "%2E%2E" in execution and namespace file endpoints allows arbitrary file read
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-22 and the CVSS impact.
Summary
Kestra is an open-source, event-driven orchestration platform. Prior to 1.0.43 and 1.3.19, several Kestra API endpoints accept a kestra:// URI from the client and pass it through StorageInterface.parentTraversalGuard before reading the underlying file from the local storage backend. The guard only inspects the literal URI.toString(), so a URL-encoded .. written as %2E%2E slips through. The downstream code then calls URI.getPath(), which decodes %2E%2E back to .., and the resulting path is handed to Paths.get(...) without normalization. The OS resolves the .. segments at open(2) time, so an authenticated user with a single execution can read any file the Kestra process has access to on the host filesystem (/etc/passwd, mounted secrets, other tenants' execution outputs, etc.). This vulnerability is fixed in 1.0.43 and 1.3.19.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA kestra (kestra-io) Fixed in 1.0.43, 1.3.19
Timeline
- 2026-10-02 Threatist record created from CVE-2026-45807
References
More Kestra vulnerabilities
- TI-2026-36769 Kestra: Unauthenticated Remote Code Execution via Authentication Bypass in `AuthenticationFilter` KEVCVSS 3.1CRITICAL 10.0
- TI-2026-38637 Kestra: Unauthenticated RCE via /configs path-suffix auth-filter bypass CVSS 3.1CRITICAL 10.0
- TI-2026-28138 Kestra v1.3.3 and before is vulnerable to SQL Injection. CVSS 3.1CRITICAL 9.8
- TI-2026-26858 Kestra: Remote Code Execution via SQL Injection CVSS 3.1CRITICAL 10.0
- TI-2026-39775 Kestra BasicAuth Password Stored as SHA-512 Enables Offline Brute-Force Attack CVSS 3.1HIGH 8.7
- TI-2026-36817 Information disclosure in kestra CVSS 3.1HIGH 7.7
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences