{"id":"CVE-2026-49298","state":"PUBLISHED","title":"Apache Airflow: JWT Token Exposure in KubernetesExecutor Command-Line Arguments","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](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.","publishedAt":"2026-06-01T07:34:32.229Z","updatedAt":"2026-06-02T16:43:36.658Z","severity":{"score":8.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"CISA-ADP"},"assigner":"apache","products":["Apache Software Foundation Apache Airflow"],"affected":[{"vendor":"Apache Software Foundation","product":"Apache Airflow","packageName":"apache-airflow","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.2.2","versionType":"semver"}],"collectionURL":"https://pypi.python.org"}],"references":["https://github.com/apache/airflow/pull/60108","https://lists.apache.org/thread/wo09vrks8189dzsot39rvrx3vnx102tt"],"weaknesses":["CWE-538"],"ingestedAt":"2026-10-29T20:12:07.131Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/49xxx/CVE-2026-49298.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-49298","state":"PUBLISHED","datePublished":"2026-06-01T07:34:32.229Z","dateUpdated":"2026-06-02T16:43:36.658Z","assignerShortName":"apache","assignerOrgId":"f0158376-9dc2-43b6-827c-5f631a4d8d09","dateReserved":"2026-05-28T21:14:03.813Z"},"containers":{"cna":{"title":"Apache Airflow: JWT Token Exposure in KubernetesExecutor Command-Line Arguments","descriptions":[{"lang":"en","value":"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":[{"vendor":"Apache Software Foundation","product":"Apache Airflow","packageName":"apache-airflow","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.2.2","versionType":"semver"}],"collectionURL":"https://pypi.python.org"}],"references":[{"url":"https://github.com/apache/airflow/pull/60108","tags":["patch"]},{"url":"https://lists.apache.org/thread/wo09vrks8189dzsot39rvrx3vnx102tt","tags":["vendor-advisory"]}],"metrics":[{"other":{"content":{"text":"Moderate"},"type":"Textual description of severity"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-538","description":"CWE-538: Insertion of Sensitive Information into Externally-Accessible File or Directory","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"apache","orgId":"f0158376-9dc2-43b6-827c-5f631a4d8d09","dateUpdated":"2026-06-01T07:34:32.229Z"},"credits":[{"lang":"en","type":"finder","value":"Nikolai Dvoinishnikov (nikdvy@gmail.com)"},{"lang":"en","type":"finder","value":"Anton Kuznetsov (piratusxp@gmail.com)"},{"lang":"en","type":"remediation developer","value":"Anish Giri"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"airflow-s/generate_cve_json.py"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":8.8,"attackVector":"NETWORK","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"timestamp":"2026-06-02T15:56:22.010586Z","id":"CVE-2026-49298","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-06-02T16:43:36.658Z"}}]}}}