Kestra CVE-2026-49869: The Suffix Match That Turned Workflows Into Root Shells

By George Bailey   Published: 09/09/26   Updated: 09/09/26   2 min read

What Changed

Kestra OSS, an open-source event-driven orchestration platform, shipped an authentication bypass in AuthenticationFilter tracked as CVE-2026-49869. The filter intended to whitelist only the public configuration endpoint from Basic Auth. Instead of an exact path match, it used request.getPath().endsWith("/configs"). Any API path whose final segment is literally configs skips authentication.

An unauthenticated attacker can PUT a flow named configs, POST an execution for that flow, and—because Kestra enables script plugins (plugin-script-shell, plugin-script-python) by default—run attacker-controlled commands as root inside the worker container. Fixed versions are 1.0.45 and 1.3.21. CISA added the CVE to KEV on September 2 with a compressed remediation deadline under BOD 26-04.

Why This Matters Operationally

Orchestrators are where credentials, cloud metadata reachability, and “run this script on a schedule” already live. An auth bypass here is not a dashboard squiggle—it is unauthenticated remote code execution on the automation plane. The bug class is durable: string-suffix allowlists keep failing the same way in API gateways and admin panels. Network exposure is not required for impact; any attacker who can reach port 8080 or 32776 on the Kestra host can exploit default Basic Auth deployments.

What Defenders Should Verify First

Source Context

Patch the named releases, then prove nobody named a workflow configs while the suffix check was still freelancing as a VIP badge.

George Bailey

George Bailey is a cybersecurity researcher and writer at CyberExperts, covering cyber threats, AI, cloud security, vulnerabilities, and defensive strategies. His goal is to help security professionals quickly understand what matters most and how it impacts their organizations.