Kestra OSS OS Command Injection Vulnerability
kestra-io — kestra
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.
10.0
1.0%
Vector breakdown
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- None
- User interaction
- None
- Scope
- Changed
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
- Published
- Jun 26, 2026
- Modified
- Sep 3, 2026
- Added to KEV
- Sep 2, 2026
- Federal patch due
- Sep 5, 2026
CISA required action
Apply mitigations in accordance with vendor instructions, ensuring compliance with CISA’s BOD 26-04 Prioritizing Security Updates Based on Risk (see URL in Notes) guidance and CISA’s “Forensics Triage Requirements” (see URL in Notes). Follow applicable BOD 26-04 guidance for cloud services or discontinue use of the product if mitigations are unavailable. Stakeholders are responsible for evaluating each asset's internet exposure and ensuring adherence to BOD 26-04 patching guidelines.
Weakness classification
Proof-of-concept & exploitation references
1 foundWeaponization
Public repositories whose name or description references CVE-2026-49869, found via a live GitHub search at request time. These are community-sourced signals, not a verified working exploit - cross-check each one before relying on it, and treat higher star counts and recent activity as (weak) corroboration, not proof.
References
How this class of flaw gets exploited
Frequently asked questions
What is CVE-2026-49869?
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.
How severe is CVE-2026-49869?
CVE-2026-49869 has a CVSS base score of 10.0 out of 10 (CVSS 3.1).
Is CVE-2026-49869 actively exploited in the wild?
Yes. CVE-2026-49869 is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, added Sep 2, 2026, meaning CISA has confirmed evidence of active exploitation.
What is the EPSS score for CVE-2026-49869?
1.0% - meaning FIRST.org's EPSS model estimates a 1.0% probability this vulnerability will be exploited in the wild within 30 days (60% percentile among all scored CVEs).
Is there exploit tooling available for CVE-2026-49869?
We found 1 public GitHub repository referencing CVE-2026-49869, though none matched a known Nuclei template or Metasploit module at last check. Review each one before relying on it - see the proof-of-concept section above.
What type of vulnerability is CVE-2026-49869?
CVE-2026-49869 is classified under CWE-78, CWE-184, CWE-287, CWE-918 (CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')).
Cross-checked against
Impactr finds and proves whether CVE-2026-49869 - or flaws like it - are actually reachable in your own web apps and APIs, with a reproducible exploit as evidence.
Join the waitlist