---
id: CVE-2026-49298
aliases:
  - GHSA-5j6p-jrrm-6x94
  - BIT-airflow-2026-49298
title: >-
  Apache Airflow: Execution API JWT leaked via KubernetesExecutor worker
  command-line args
summary: >-
  Apache Airflow: Execution API JWT leaked via KubernetesExecutor worker
  command-line args
severity: high
cvss: 8.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
vendor: apache-airflow-core
product: apache-airflow-core
ecosystem: pip
affected:
  - apache-airflow-core < 3.2.2
patched:
  - apache-airflow-core 3.2.2
published: '2026-06-01'
updated: '2026-07-08'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-5j6p-jrrm-6x94'
references:
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-49298'
  - url: 'https://github.com/apache/airflow/pull/60108'
  - url: 'https://github.com/apache/airflow/pull'
  - url: 'https://lists.apache.org/thread/wo09vrks8189dzsot39rvrx3vnx102tt'
tags:
  - osv
  - pip
epss: 0.00809
epssPercentile: 0.55086
ingestedAt: '2026-07-09T11:56:18.304Z'
---

## Overview

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](https://www.cve.org/CVERecord?id=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.

## Affected packages

- `apache-airflow-core < 3.2.2`

## Remediation

Upgrade to a patched release:

- `apache-airflow-core 3.2.2`
