CVE-2026-49869 is a critical authentication-bypass vulnerability in Kestra OSS versions earlier than 1.0.45 and 1.3.21. The Basic Authentication filter exempts the intended public configuration endpoint using a suffix-based route comparison rather than exact route matching. Consequently, an attacker can invoke other API routes ending in the exempted segment and bypass authentication. The attacker can then create and execute arbitrary Kestra workflows. Because script execution plugins, including shell and Python execution capabilities, are enabled by default, workflow execution can produce unauthenticated remote code execution as root in 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.
18 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A vulnerability in exposed AI infrastructure that attackers can use to compromise services and access sensitive cloud resources; the content does not identify the specific affected product or technical flaw.
A critical authentication-bypass vulnerability in Kestra that attackers likely exploited to create a malicious workflow, execute shell commands through a worker, inspect container data, and deploy XMRig for Monero mining.
A critical Kestra authentication-bypass vulnerability that can allow an unauthenticated network attacker to bypass login, create a malicious workflow using the Process runner, and trigger worker-side shell-script execution.
A critical Kestra authentication-bypass vulnerability that enables an unauthenticated network attacker to bypass login, define malicious workflows using the Process runner, and execute shell scripts in the worker runtime.
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.