CVE-2026-49869 is a critical authentication-bypass vulnerability in Kestra OSS prior to versions 1.0.45 and 1.3.21. Kestra's AuthenticationFilter exempts the public configuration endpoint from Basic Authentication by testing whether the request path ends with "/configs", rather than validating the exact intended endpoint. An attacker can append that path segment to protected API routes and bypass authentication, enabling creation and execution of arbitrary workflows. Default-enabled shell and Python script plugins allow attacker-controlled workflow steps to execute commands as root within the Kestra worker container.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository is a standalone Python-based Kestra vulnerability scanner/exploit utility for CVE-2026-49869 and CVE-2026-53576. It is not tied to a major exploit framework. The codebase is small and organized around a CLI entry point (main.py) and a scanner module (modules/scanner.py) that contains the core target parsing, URL construction, HTTP probing, and reporting logic. Supporting modules provide banners, ANSI colors, and dataclasses for probe/scan results. Primary capability: it detects an authentication bypass caused by Kestra accepting any request path ending in /configs instead of strictly matching /api/v1/configs. The scanner first checks liveness/version via GET /api/v1/configs, then verifies that the normal flows endpoint requires authentication, and finally probes multiple crafted bypass paths under flows, executions, namespaces/kv, dashboards, logs, and templates. If bypass responses differ from the protected baseline, the target is marked vulnerable. Beyond detection, the tool includes active exploitation features. In aggressive mode it sends PUT requests to confirm unauthorized write access by creating a minimal flow or KV entry. With --rce it performs a full exploit chain: deploys a malicious Kestra flow through the bypass path, triggers execution through the executions bypass endpoint, polls logs for a unique marker plus command output such as id and hostname, and then cleans up the flow. The README states a fallback from shell.Commands to python.Script if needed. With --ssrf it deploys a flow containing Pebble http() calls to AWS, GCP, Azure metadata services and localhost/internal endpoints, then checks execution logs for indicators. With --destructive it tests unauthorized DELETE operations against flows, dashboards, and logs. Repository structure: README.md documents the vulnerability, probe matrix, CLI usage, JSON schema, and affected versions. main.py handles argument parsing, single/bulk scan orchestration, JSON report generation, and exit codes. modules/scanner.py is the main implementation and defines constants such as default tenant main, namespace tutorial, auto-expanded ports [8080, 8081, 8088, 8091, 80, 443], request timeout, polling intervals, and URL builder helpers for the vulnerable endpoints. modules/result.py defines ProbeResult and ScanResult dataclasses used throughout reporting. modules/colors.py and modules/banners.py are cosmetic. requirements.txt shows the tool depends mainly on requests, urllib3, and colorama. Overall, this is an operational exploit/scanner rather than a simple detector: it can validate unauthorized read/write access, confirm code execution, test SSRF reachability, and exercise destructive actions against exposed Kestra instances.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
37 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A critical Kestra OSS authentication-bypass vulnerability that may enable unauthenticated access to an endpoint and lead to remote code execution.
A critical command injection vulnerability in the Kestra open-source orchestration platform that has been exploited in the wild.
An authentication-bypass vulnerability in Kestra caused by an overly broad path exception: protected workflow endpoints could be made to pass the authentication filter by appending a path ending in /configs. This permits unauthenticated creation and execution of workflows, with commands running as root within the Kestra Linux worker container. Direct escape to the underlying Linux host is not confirmed.
An operating-system command-injection vulnerability in Kestra OSS, listed in the CISA Known Exploited Vulnerabilities catalog.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.