← Back to CVE Explorer

CVE-2026-53576

Full vulnerability record from the local CVENow database.

Description

Kestra is an open-source, event-driven orchestration platform. Prior to 1.0.45 and 1.3.21, the authentication filter for the REST API (@Filter("/api/v1/**")) treats any request whose path ends in /configs as the public instance-config endpoint and forwards it without a credential check. kestra addresses its resources by URL path segments that the caller chooses (/api/v1/{tenant}/flows/{namespace}, /api/v1/{tenant}/executions/{namespace}/{id}, /api/v1/{tenant}/namespaces/{namespace}/kv/{key}). An anonymous caller picks the literal configs as the final segment, and the request bypasses Basic-Auth entirely. Because the bypass reaches the flow-create and execution-trigger routes, an unauthenticated caller creates a flow containing a Shell or Process task and runs it. The task executes as root inside the kestra container. The official docker-compose.yml mounts /var/run/docker.sock, so root in the container reaches the host Docker daemon. This vulnerability is fixed in 1.0.45 and 1.3.21.

Severity
CRITICAL
CVSS score
10.0 (v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-06-26 22:16:32.840000
Last modified
2026-10-25 17:10:00.197000
View original CVE JSON
{
  "id": "CVE-2026-53576",
  "sourceIdentifier": "[email protected]",
  "published": "2026-06-26T22:16:32.840",
  "lastModified": "2026-10-25T17:10:00.197",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Kestra is an open-source, event-driven orchestration platform. Prior to 1.0.45 and 1.3.21, the authentication filter for the REST API (@Filter(\"/api/v1/**\")) treats any request whose path ends in /configs as the public instance-config endpoint and forwards it without a credential check. kestra addresses its resources by URL path segments that the caller chooses (/api/v1/{tenant}/flows/{namespace}, /api/v1/{tenant}/executions/{namespace}/{id}, /api/v1/{tenant}/namespaces/{namespace}/kv/{key}). An anonymous caller picks the literal configs as the final segment, and the request bypasses Basic-Auth entirely. Because the bypass reaches the flow-create and execution-trigger routes, an unauthenticated caller creates a flow containing a Shell or Process task and runs it. The task executes as root inside the kestra container. The official docker-compose.yml mounts /var/run/docker.sock, so root in the container reaches the host Docker daemon. This vulnerability is fixed in 1.0.45 and 1.3.21."
    },
    {
      "lang": "es",
      "value": "Kestra es una plataforma de orquestación de código abierto e impulsada por eventos. Antes de las versiones 1.0.45 y 1.3.21, el filtro de autenticación para la API REST (@Filter(“/api/v1/**”)) trata cualquier solicitud cuya ruta termine en /configs como el punto final público de configuración de instancia y la reenvía sin una verificación de credenciales. Kestra direcciona sus recursos mediante segmentos de ruta de URL que el llamador elige (/api/v1/{tenant}/flows/{namespace}, /api/v1/{tenant}/executions/{namespace}/{id}, /api/v1/{tenant}/namespaces/{namespace}/kv/{key}). Un llamador anónimo elige el literal configs como el segmento final, y la solicitud omite completamente la autenticación Basic-Auth. Debido a que la omisión alcanza las rutas de creación de flujo y activación de ejecución, un llamador no autenticado crea un flujo que contiene una tarea Shell o Process y la ejecuta. La tarea se ejecuta como root dentro del contenedor kestra. El docker-compose.yml oficial monta /var/run/docker.sock, por lo que root en el contenedor alcanza el demonio Docker del host. Esta vulnerabilidad está corregida en las versiones 1.0.45 y 1.3.21."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "kestra-io",
          "product": "kestra",
          "versions": [
            {
              "version": "< 1.0.45",
              "status": "affected"
            },
            {
              "version": ">= 1.1.0, < 1.3.21",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
          "baseScore": 10.0,
          "baseSeverity": "CRITICAL",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "scope": "CHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 3.9,
        "impactScore": 6.0
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-06-29T15:02:08.660345Z",
          "id": "CVE-2026-53576",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-94"
        },
        {
          "lang": "en",
          "value": "CWE-288"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:kestra:kestra:*:*:*:*:*:*:*:*",
              "versionEndExcluding": "1.0.45",
              "matchCriteriaId": "ADC0ED79-69EF-4A2A-9F07-4791ED97124F"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:kestra:kestra:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "1.1.0",
              "versionEndExcluding": "1.3.21",
              "matchCriteriaId": "73FD0092-9076-4F1C-9B93-E59C09D30E21"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/kestra-io/kestra/security/advisories/GHSA-2q47-568g-9h4f",
      "source": "[email protected]",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ]
    },
    {
      "url": "https://github.com/kestra-io/kestra/security/advisories/GHSA-2q47-568g-9h4f",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ]
    }
  ]
}