{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "cpe": "cpe:2.3:a:kestra:kestra:*:*:*:*:*:*:*:*",
            "extracted_events": [
              {
                "introduced": "0"
              },
              {
                "fixed": "1.0.45"
              },
              {
                "introduced": "1.1.0"
              },
              {
                "fixed": "1.3.21"
              }
            ],
            "source": "CPE_RANGE"
          },
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "670b719eb5e0fc579ad9044551223642c24335dd"
            },
            {
              "introduced": "1e670b5e7e92f89533ee17d564263578b0d5ec8c"
            },
            {
              "fixed": "2541c53230388d76a9acc1b43245ebce31312a88"
            }
          ],
          "repo": "https://github.com/kestra-io/kestra",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-2q47-568g-9h4f"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-288",
      "CWE-94"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53576.json"
  },
  "details": "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.",
  "id": "CVE-2026-53576",
  "modified": "2026-07-15T01:48:51.910150125Z",
  "published": "2026-06-26T20:54:08.282Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53576.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/kestra-io/kestra/security/advisories/GHSA-2q47-568g-9h4f"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-53576"
    }
  ],
  "schema_version": "1.8.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "Kestra: Unauthenticated RCE via /configs path-suffix auth-filter bypass"
}