Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-38428

CVE-2026-38428: Kestra SQL Injection Vulnerability

CVE-2026-38428 is a SQL injection vulnerability in Kestra v1.3.3 and earlier versions that allows attackers to inject malicious SQL code via GET parameters. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2026-38428 Overview

CVE-2026-38428 is a SQL Injection vulnerability affecting Kestra v1.3.3 and earlier versions. The flaw exists because user-controlled input from a GET parameter is directly concatenated into an SQL query without sanitization or parameterization. Attackers can inject arbitrary SQL expressions into the database query through a network-accessible endpoint.

The vulnerability requires no authentication and no user interaction. It maps to CWE-89: Improper Neutralization of Special Elements used in an SQL Command. Successful exploitation can compromise confidentiality, integrity, and availability of the underlying database.

Critical Impact

Unauthenticated remote attackers can read, modify, or delete database contents through crafted GET parameter values, leading to full data compromise of Kestra deployments.

Affected Products

  • Kestra v1.3.3 and earlier versions
  • Kestra orchestration platform deployments exposing the affected GET endpoint
  • Self-hosted and containerized Kestra installations on the vulnerable releases

Discovery Timeline

  • 2026-05-05 - CVE-2026-38428 published to NVD
  • 2026-05-07 - Last updated in NVD database

Technical Details for CVE-2026-38428

Vulnerability Analysis

The vulnerability resides in a Kestra HTTP handler that accepts a GET parameter and concatenates the value directly into an SQL statement. Because the application performs no input validation, escaping, or parameter binding, attacker-controlled characters terminate the original query context. The attacker can then append additional SQL clauses such as UNION SELECT, OR 1=1, or stacked statements depending on the database driver.

Kestra is a workflow orchestration platform that frequently stores execution metadata, secrets, and flow definitions in its backing database. SQL Injection at this layer exposes operational data and pipeline configuration. Attackers can also abuse database functions to read files, write files, or execute commands depending on the database engine privileges.

Root Cause

The root cause is the use of string concatenation to build SQL queries from untrusted input. The codebase fails to apply prepared statements or an ORM-level binding mechanism for the affected endpoint. This pattern violates secure coding guidance in [CWE-89] and ignores parameterization features available in modern Java database libraries used by Kestra.

Attack Vector

An unauthenticated attacker sends a crafted HTTP GET request containing SQL metacharacters in the vulnerable parameter. The request travels over the network, requires no privileges, and produces no user interaction prompt. The injected payload executes inside the database session used by Kestra. Refer to the Kestra GitHub Security Advisory GHSA-365w-2m69-mp9x for technical specifics.

Detection Methods for CVE-2026-38428

Indicators of Compromise

  • HTTP GET requests to Kestra endpoints containing SQL syntax tokens such as UNION, SELECT, --, ;, ', or OR 1=1 in query parameters
  • Database error messages or stack traces returned in HTTP responses from the Kestra application
  • Unexpected outbound connections from the Kestra database host or anomalous read volume against execution and flow tables
  • New or modified rows in Kestra authentication or secret storage tables outside of normal change windows

Detection Strategies

  • Inspect web server and reverse proxy logs for GET parameters containing URL-encoded SQL metacharacters targeting Kestra routes
  • Deploy Web Application Firewall rules with SQL Injection signatures in front of the Kestra UI and API
  • Enable database query logging and alert on syntactically unusual queries originating from the Kestra service account
  • Correlate Kestra application logs with database audit logs to identify injected payload execution

Monitoring Recommendations

  • Monitor Kestra HTTP access logs for spikes in 500-class responses tied to specific GET parameters
  • Track database CPU and row-read metrics for the Kestra schema to detect bulk extraction attempts
  • Alert on Kestra service account queries that reference information_schema, pg_catalog, or system tables

How to Mitigate CVE-2026-38428

Immediate Actions Required

  • Upgrade Kestra to a release later than v1.3.3 that contains the fix referenced in the GitHub Security Advisory GHSA-365w-2m69-mp9x
  • Restrict network exposure of the Kestra UI and API to trusted administrative networks or VPN segments
  • Review Kestra database audit logs for suspicious queries dating back to the deployment of v1.3.3 or earlier
  • Rotate any credentials, API keys, or secrets stored in the Kestra database after patching

Patch Information

Apply the patched Kestra release identified in the vendor advisory. The fix replaces unsafe string concatenation with parameterized queries on the affected endpoint. Validate the running version with kestra --version after upgrade and confirm no v1.3.3 or earlier instances remain in the environment.

Workarounds

  • Place a Web Application Firewall in front of Kestra and enable signatures that block SQL Injection patterns in GET parameters
  • Restrict the Kestra database account to least privilege, removing file I/O and DDL permissions where possible
  • Disable or firewall the affected GET endpoint at the reverse proxy layer until the upgrade is applied
bash
# Example reverse proxy rule to block SQL metacharacters in Kestra GET parameters
# nginx snippet - adjust location to the affected route
location /api/v1/ {
    if ($args ~* "(union|select|--|;|or\s+1=1|information_schema)") {
        return 403;
    }
    proxy_pass http://kestra_backend;
}

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.