GHSA-5j6p-jrrm-6x94
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain low-priv Kubernetes namespace access
-
DeliveryEnumerate Airflow worker pods
-
ExploitRead JWT from container args/cmdline
-
ExecutionReplay token against Execution API
-
PersistManipulate task state and XComs
-
ImpactPivot to worker-authorized data sinks
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Sensitive file access control
|
| Exploitation Conditions | Apache Airflow must be deployed with the KubernetesExecutor (not LocalExecutor, CeleryExecutor, or SequentialExecutor) on a version below 3.2.2, since the leak occurs specifically when the executor builds airflow CLI invocations with the JWT embedded in argv for worker pods. The attacker needs a pre-existing low-privilege foothold (PR:L) that grants visibility into worker process arguments - concretely: kubectl exec into the worker pod, kubectl get pod -o yaml on the worker (the token appears in spec.containers[].args/command), read access to /proc/<pid>/cmdline from a co-located container sharing the process namespace, or node-level shell on the Kubernetes host. Exploitation is bounded by the workload token's lifetime (tied to scheduler task_queued_timeout, default 600 seconds in patched documentation; pre-patch behavior matched whatever token lifetime was issued), and no user interaction is required once the token is captured. Clusters that strictly isolate the Airflow namespace and forbid non-admin pod inspection materially limit reach. |
| Impact | The CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H reflects network-reachable impact once a low-privileged actor reads the token from process arguments, but the PR:L requirement means an attacker must already have some foothold - typically pod-exec, Kubernetes API read access to pod specs, or local shell on a worker node - before the token becomes useful. EPSS at 0.02% (6th percentile) and absence from CISA KEV indicate no observed mass exploitation, consistent with the prerequisite of pre-existing cluster visibility. The 8.8 score is therefore best read as conditional severity: in a multi-tenant Kubernetes cluster where namespace isolation is the trust boundary, this is a meaningful privilege-escalation primitive; in a single-tenant cluster with no untrusted pod-exec users, real risk is lower. The tag 'Authentication Bypass' is a partial mischaracterization - this is credential leakage enabling impersonation rather than an auth-bypass primitive - verify intended classification with the Apache advisory. |
| Exploit ScenarioDerived | An attacker with low-privileged access to the Kubernetes namespace running Airflow workers - for example a developer with pod-exec rights, a co-tenant pod with shared process namespace visibility, or read access to pod specs via the Kubernetes API - enumerates running airflow worker processes and extracts the JWT from the command-line arguments. They then replay the token against the Airflow Execution API to mark tasks running, fetch task state, or push crafted XComs and task outcomes, corrupting pipeline integrity and potentially pivoting to data destinations the worker is authorized to write to. No public proof-of-concept has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 02, 2026
Sensitive information disclosure in Apache Airflow versions prior to 3.2.2 exposes JWT authentication tokens via KubernetesExecutor command-line arguments, allowing low-privileged users with process listing access on worker pods to harvest credentials and impersonate workers against the Execution API. The flaw, addressed in PR #60108 alongside a redesign of workload/execution token lifetimes, carries a CVSS 8.8 due to high impact across confidentiality, integrity, and availability. No public exploit has been identified at time of analysis and EPSS sits at 0.02%, suggesting limited mass-exploitation activity.
RemediationAI
Vendor-released patch: upgrade Apache Airflow to 3.2.2 or later, where the JWT token is no longer passed via worker command-line arguments and the workload/execution scope split limits token validity windows (see PR https://github.com/apache/airflow/pull/60108 and Apache thread https://lists.apache.org/thread/wo09vrks8189dzsot39rvrx3vnx102tt). Where immediate upgrade is not possible, compensating controls include restricting Kubernetes RBAC so non-admin service accounts cannot read pod specs or exec into worker pods in the Airflow namespace (side effect: blocks legitimate debugging by developers), enforcing PodSecurity restrictions and disabling shared process namespaces between sidecars and workers (side effect: may break existing observability sidecars that rely on /proc visibility), reducing scheduler task_queued_timeout to shrink the workload token validity window (side effect: more aggressive reaping of legitimately queued tasks under load), and rotating the JWT signing key after upgrade to invalidate any tokens that may have been harvested pre-patch.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in pypi, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Apache Airflow's KubernetesExecutor launches worker pods by passing task execution parameters as command-line arguments to the airflow CLI inside the container. Per CWE-538 (Insertion of Sensitive Information into Externally-Accessible File or Directory), the workload JWT - used by workers to authenticate against the Execution API - was placed where it became visible through process listings (e.g., /proc/<pid>/cmdline, ps output, container introspection, or pod spec inspection via the Kubernetes API). The PR #60108 diff shows a broader hardening of the JWT scope model: distinguishing long-lived workload-scoped tokens (tied to scheduler task_queued_timeout, default 600s) from short-lived execution-scoped tokens (default 10 minutes) refreshed transparently by JWTReissueMiddleware, narrowing the blast radius if a token is leaked.
Know when Airflow gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Primary rating from Vendor (CNA) · only source for this CVE.
CVSS VectorVendor
Lifecycle Timeline
4Description PRE-NVD
Blast Radius
ecosystem impact- 9 pypi packages depend on apache-airflow-core (2 direct, 7 indirect)
Ecosystem-wide dependent count for version 3.2.2.
Executive ViewAI
Apache Airflow versions before 3.2.2 expose JWT authentication tokens through KubernetesExecutor process arguments, allowing pod-level attackers to harvest credentials and impersonate worker processes. Organizations using this deployment pattern face risk of unauthorized access to data pipelines and potential data manipulation by attackers without detection. This is primarily a threat to companies running Airflow on Kubernetes with shared worker node access or multi-tenant environments.
Apply vendor patch. Upgrade to Apache Airflow 3.2.2 or later. Until patched, restrict pod security policies to block process listing access between pods and implement pod network policies to limit lateral movement from worker pods to other services.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
The previous default setting for Airflow's Experimental API was to allow all API requests without authentication, but th
An issue was found in Apache Airflow versions 1.10.10 and below. Rated high severity (CVSS 8.8), this vulnerability is r
The variable import endpoint was not protected by authentication in Airflow >=2.0.0, <2.1.3. Rated critical severity (CV
An issue was found in Apache Airflow versions 1.10.10 and below. Rated critical severity (CVSS 9.8), this vulnerability
A vulnerability in Example Dags of Apache Airflow allows an attacker with UI access who can trigger DAGs, to execute arb
In Apache Airflow, prior to version 2.2.4, some example DAGs did not properly sanitize user-provided params, making them
Incorrect Session Validation in Apache Airflow Webserver versions prior to 1.10.14 with default config allows a maliciou
Insufficient session expiration in apache-airflow-providers-fab 2.4.2 through 3.9.0 means an attacker who already holds
Authentication bypass in the Apache Airflow Keycloak auth manager provider (apache-airflow-providers-keycloak below 0.10
Privilege Context Switching Error vulnerability in Apache Software Foundation Apache Airflow.6.0. Rated critical severit
Improper Neutralization of Special Elements used in a Command ('Command Injection') vulnerability in Apache Software Fou
Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerability in Apache Airfl
EUVD-2026-33580
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB