Skip to main content

Kestra CVE-2026-73247

| EUVDEUVD-2026-57013 HIGH
Server-Side Request Forgery (SSRF) (CWE-918)
2026-08-11 security-advisories@github.com GHSA-r56g-q4p6-m3p6
8.6
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Access Kestra API without credentials
  2. Delivery
    Craft flow with http() targeting 169.254.169.254 or internal IP
  3. Exploit
    Import and trigger flow execution via API
  4. Execution
    Kestra fetches internal target without SSRF controls
  5. Impact
    Cloud IAM credentials or internal service data returned to attacker

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the attacker can import and execute a flow containing a http() Pebble template call against the target Kestra instance. Per the CVE description, this is achievable by an unauthenticated attacker - meaning the Kestra API endpoint for flow creation or import must be accessible without authentication. This is the single most important condition to verify per deployment: Kestra instances with authentication enforced at the API layer require valid credentials before a flow can be submitted, which materially constrains the attacker pool. No non-default Kestra configuration, plugin, or feature flag is required - the http() function is a built-in Pebble extension present in default Kestra installations prior to 2.0.0. Exploitation is limited by: (1) network reachability to the Kestra API from the attacker's position, (2) whether the deployment permits unauthenticated flow submission (deployment-dependent), and (3) what internal services or cloud IMDS endpoints are network-reachable from the Kestra host's egress path.

Impact

The CVSS 3.1 score of 8.6 with vector AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N accurately characterizes the exploitation barrier: no authentication, no special preconditions, single network-reachable API call. The scope change is the critical amplifier - in cloud environments, the link-local IMDS endpoint at 169.254.169.254 vends short-lived IAM role credentials, meaning a successful SSRF can pivot into broad AWS/GCP/Azure privilege escalation far beyond Kestra's own blast radius. No EPSS score was included in the provided intelligence data, and the vulnerability is absent from the CISA KEV catalog, so there is no confirmed evidence of active exploitation. The primary real-world risk moderator is whether a given Kestra deployment truly permits unauthenticated flow import and execution - the PR:N metric is stated in the advisory but should be verified per deployment, since production instances with authentication enforced would require valid credentials as a prerequisite, materially reducing exploitability. The I:N and A:N metrics are consistent with pure SSRF: no write path or denial-of-service vector is introduced by the http() function alone.

Exploit ScenarioDerived

An attacker with network access to a Kestra instance crafts a YAML or JSON flow definition that invokes the Pebble http() function with the URI http://169.254.169.254/latest/meta-data/iam/security-credentials/ and imports it via the Kestra flow API without credentials. Kestra's server-side HTTP client fetches the AWS IMDS endpoint, and the response - containing temporary IAM role credentials including access key, secret, and session token - is returned to the attacker through the flow execution output, enabling lateral movement and privilege escalation across the cloud environment. No public proof-of-concept code has been identified, but the attack requires only a standard HTTP client and a crafted flow definition.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 11, 2026

Server-side request forgery in Kestra's Pebble http() template function allows unauthenticated remote attackers to force the Kestra server to make outbound HTTP requests to private, loopback, or link-local addresses - including cloud Instance Metadata Service endpoints - by supplying a crafted URI inside an imported workflow flow. All Kestra releases prior to 2.0.0 are affected, with no scope restriction on reachable internal hosts, making cloud-hosted deployments particularly exposed to IAM credential theft via AWS/GCP/Azure IMDS APIs. No public exploit code or CISA KEV listing has been identified at time of analysis, but the combination of network-accessible, zero-authentication, low-complexity exploitation warrants high-priority remediation.

RemediationAI

Upgrade Kestra to version 2.0.0 or later, which introduces SSRF protections in the http() Pebble function restricting URI destinations away from private, loopback, and link-local address space. Consult the vendor advisory at https://github.com/kestra-io/kestra/security/advisories/GHSA-r56g-q4p6-m3p6 for full release notes. If an immediate upgrade is not feasible, deploy a network-layer egress firewall on the Kestra host that drops outbound TCP to RFC-1918 ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), loopback (127.0.0.0/8), and link-local (169.254.0.0/16) - this blocks IMDS access and internal service pivoting without requiring code changes, though it may break flows that legitimately call internal endpoints and must be scoped accordingly. For cloud deployments, enforcing IMDSv2 (AWS) or equivalent metadata service hardening adds a secondary control against credential theft but does not address the broader SSRF surface targeting other internal services. Restricting the Kestra API to authenticated users only eliminates the unauthenticated attack surface entirely and should be treated as a baseline hardening step regardless of patch status.

Affected VersionsENISA

kestra < 2.0.0

Affected Packages

maven io.kestra:core no fix
maven io.kestra:kestra-core fix: 2.0.0
euvd kestra fix: 2.0.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in maven, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Kestra embeds the Pebble Java templating engine to evaluate flow definitions, exposing a built-in http() function implemented in core/src/main/java/io/kestra/core/runners/pebble/functions/HttpFunction.java. The function accepts a user-supplied URI string, passes it without sanitization to Java's URI.create(), and forwards the result to a server-side HTTP client with no egress restrictions against RFC-1918 private address ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), loopback addresses (127.0.0.0/8, ::1), or link-local ranges (169.254.0.0/16 - the IMDS range used by AWS, GCP, and Azure). CWE-918 (Server-Side Request Forgery) describes this root cause: a trusted server-side HTTP client executes requests derived from externally-controlled input without origin validation. The CVSS S:C (scope change) metric reflects that exploitation's primary impact falls on infrastructure outside Kestra - internal services and cloud control-plane APIs - rather than on Kestra itself.

Know when Java gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 8.6 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
vuln.today AI 8.6 HIGH

Network-facing unauthenticated API with no special conditions; S:C and C:H reflect SSRF pivot to cloud IMDS and internal services beyond Kestra's own trust boundary.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

2
Patch available
Aug 11, 2026 - 23:04 EUVD
CVE Published
Aug 11, 2026 - 22:19 cve.org
HIGH 8.6

DescriptionCVE.org

Kestra is an open-source, event-driven orchestration platform. Prior to 2.0.0, Kestra's core/src/main/java/io/kestra/core/runners/pebble/functions/HttpFunction.java passes the user-controlled http() uri argument to URI.create() and the server-side HTTP client without restricting private, loopback, or link-local destinations, allowing an unauthenticated attacker to import and execute a flow that accesses internal services or cloud metadata.

Executive ViewAI

Why It Matters

Kestra servers vulnerable to CVE-2026-73247 expose cloud credentials granting attackers unauthorized access to AWS, GCP, and Azure resources through simple unauthenticated attacks. Any organization running Kestra versions prior to 2.0.0 faces elevated risk of cloud account compromise and unauthorized resource access. Immediate upgrade to version 2.0.0 is the only available remediation.

Business Impact: High
Compensating Controls

Vendor-released patch: Kestra 2.0.0. Until upgraded, restrict Kestra server network egress to external destinations only using firewall rules, disable the Pebble template http() function from available modules, and mandate code review of all imported workflow definitions to identify suspicious HTTP request patterns targeting internal address ranges.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Medium
popular open-source orchestration platform, not yet ubiquitous
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

63
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +43
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy