CVE-2026-49869
Description
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.
Summary dbcve.org
AuthenticationFilter in Kestra OSS uses request.getPath().endsWith('/configs') to whitelist the public configuration endpoint from Basic Auth. Since this is a suffix match rather than an exact path match, any API path ending with 'configs' bypasses authentication entirely, allowing unauthenticated workflow creation and execution. Combined with default script execution plugins, this enables unauthenticated RCE as root in the worker container.
Mitigation
Upgrade to Kestra version 1.0.45 or 1.3.21 or later, which replaces the suffix match with an exact path match for the /configs endpoint whitelist.