GitHub Advisoryadvisory · PyPI
GHSA-5j6p-jrrm-6x94 Apache Airflow: Execution API JWT leaked via KubernetesExecutor worker command-line args
HIGH
Official page ↗
- Aliases
- CVE-2026-49298
- Ecosystem
- PyPI
- Packages
- apache-airflow-core
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-538
- Reviewed
- 2026-07-08
Affected packages
• PyPI apache-airflow-core: < 3.2.2 → fixed in 3.2.2
Description
A bug in Apache Airflow's KubernetesExecutor caused JWT tokens used by worker pods to authenticate against the Execution API to be passed to the worker container as command-line arguments visible in the pod spec. An authenticated UI/API user with Kubernetes read-only access to the cluster (e.g. `pods/get` in the Airflow namespace) could harvest the JWT from `kubectl describe pod` output and then call state-mutating Execution API endpoints — triggering Dag runs, clearing runs, reading or writing Variables / Connections / XComs — as if they were a running task. Affects deployments using the `KubernetesExecutor`. Users are advised to upgrade to `apache-airflow` 3.2.2 or later. This is the airflow-core half of the same vulnerability addressed by CVE-2026-27173, which shipped the apache-airflow-providers-cncf-kubernetes side of the fix. Deployments that already upgraded `apache-airflow-providers-cncf-kubernetes` to 10.17.0 or later per the CVE-2026-27173 advisory should additionally upgrade `apache-airflow` to 3.2.2 or later to close the core-side surface — the two fixes are complementary, not duplicates.
Related
Alias · CVE (1)
- CVE-2026-49298 A bug in Apache Airflow's KubernetesExecutor caused JWT tokens used by worker pods to authenticate against the Execution API to be passed… vulnerability
Weakness · CWE (1)
- CWE-538 Insertion of Sensitive Information into Externally-Accessible File or Directory weakness