Apache Airflow — CVE history (PyPI)

Apache Airflow

156 CVEs affect the Apache Airflow PyPI package (highest CVSS 9.8). 2 on CISA's Known Exploited Vulnerabilities catalog. Latest disclosed: 2026-08-12. Full CVE history sourced from NVD.

Summary

Package
Apache Airflow (PyPI)
Total CVEs
156
Actively exploited (CISA KEV)
2
Highest CVSS
9.8
Latest disclosed
2026-08-12

Recent CVEs (top 20)

CVESeverityCVSSKEVPublishedSummary
CVE-2026-68971Medium6.52026-08-12Apache Airflow's asset materialization endpoint (`POST /api/v2/assets/{asset_id}/materialize`) and the XCom result check on `wait_dag_run_until_finished` authorized the target Dag without its team, unlike every other authorization site.
CVE-2026-68970Medium6.52026-08-12Apache Airflow's Task SDK did not mask the contents of a Variable whose JSON value is a list, so secrets stored in that shape appeared in cleartext in task logs and in the Rendered Templates UI.
CVE-2026-68969Medium6.52026-08-12Apache Airflow wrote Variable values and Connection `extra` contents to the audit log in cleartext when they were submitted through the bulk endpoints (`PATCH /api/v2/variables` and `PATCH /api/v2/connections`).
CVE-2026-68968High7.52026-08-12Apache Airflow's Backfill API authorized a request against a Dag id supplied by the caller whenever the `backfill_id` path segment failed to parse.
CVE-2026-68076Medium5.42026-08-12Apache Airflow's environment-variable secrets backend resolved a team-scoped Connection or Variable from the wrong team's scope.
CVE-2026-67587High8.82026-08-12Apache Airflow's Task SDK rebuilt a `Callback` object from serialized data by re-running its constructor, which imports the module named by the stored callback path.
CVE-2026-67260High7.32026-08-12Apache Airflow 3.3.0 moved human-in-the-loop tasks from the triggerer to a new `awaiting_input` task state swept by the scheduler.
CVE-2026-65017Medium6.52026-08-12Apache Airflow's Config API did not mask team-scoped sensitive configuration values in multi-team deployments.
CVE-2026-59244Medium6.52026-08-12Apache Airflow's secrets masker did not mask `var.json` Variable values whose value is a dict in the Rendered Templates UI — the dict value failed an `isinstance(str)` guard — so a secret stored as a JSON Variable and referenced in a templ…
CVE-2026-59242Medium5.42026-08-12Apache Airflow's XCom `GET /api/v2/{...}/xcomEntries/{key}?deserialize=true` endpoint passed a string-literal payload through `BaseXCom.deserialize_value` without the `_check_forbidden_xcom_keys` guard, allowing an authenticated API user w…
CVE-2026-58076High8.82026-08-12Apache Airflow's serialization layer reconstructed exception nodes by calling `import_string()` on a class name taken from the serialized blob and instantiating it with arguments from the same blob, with no restriction on what could be imp…
CVE-2026-54183Medium4.32026-08-12Apache Airflow's secrets masker hides values stored under sensitive key names when they are displayed in the UI.
CVE-2026-49487Medium6.52026-07-07In Apache Airflow before 3.3.0, the REST API task-instance detail and list endpoints returned a deferred task's trigger kwargs without masking.
CVE-2026-49296Medium6.52026-07-07Before apache-airflow 3.3.0, a user authorized to read one Dag could disclose the source of other Dags co-located in the same source file.
CVE-2026-48892Medium6.52026-07-07The Config API in Apache Airflow surfaced per-key secrets-backend overrides (environment variables like `AIRFLOW__SECRETS__BACKEND_KWARG__SECRET_ID` and `AIRFLOW__WORKERS__SECRETS_BACKEND_KWARG__SECRET_ID`) as synthetic config options whos…
CVE-2026-48891Medium4.32026-07-07A bug in Apache Airflow's `/ui/dependencies` scheduling graph endpoint applied the caller's readable-Dag filter to the top-level serialized Dag key but still emitted referenced Dag IDs through the `dep.source` and `dep.target` fields of tr…
CVE-2026-48828Medium6.52026-07-07The Bulk Variables API in Apache Airflow called the redactor without passing the variable's key, so the key-based `should_hide_value_for_key` check (which triggers on secret-suffixed key names like `*_password` / `*_token` / `*_secret`) co…
CVE-2026-33264Critical9.82026-07-07A bug in `BaseSerialization.deserialize()` allowed unrestricted `import_string()` of attacker-controlled class paths when the Scheduler / API Server loaded a serialized DAG: a DAG author could embed a malicious trigger into a DAG to gain r…
CVE-2026-49298High8.82026-06-01A 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.
CVE-2026-49267Medium5.92026-06-01Apache Airflow's EmailOperator and the underlying `airflow.utils.email` helpers established SMTP STARTTLS connections without verifying the remote certificate when the deployment used `[email] smtp_starttls=True` without `[email] smtp_ssl`.

All-time worst (top 10 by CVSS)

CVESeverityCVSSKEVPublishedSummary
CVE-2026-33264Critical9.82026-07-07A bug in `BaseSerialization.deserialize()` allowed unrestricted `import_string()` of attacker-controlled class paths when the Scheduler / API Server loaded a serialized DAG: a DAG author could embed a malicious trigger into a DAG to gain r…
CVE-2024-42447Critical9.82024-08-05Insufficient Session Expiration vulnerability in Apache Airflow Providers FAB.
CVE-2023-25754Critical9.82023-05-08Privilege Context Switching Error vulnerability in Apache Software Foundation Apache Airflow.This issue affects Apache Airflow: before 2.6.0.
CVE-2023-22884Critical9.82023-01-21Improper Neutralization of Special Elements used in a Command ('Command Injection') vulnerability in Apache Software Foundation Apache Airflow, Apache Software Foundation Apache Airflow MySQL Provider.This issue affects Apache Airflow: bef…
CVE-2022-40189Critical9.82022-11-22Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerability in Apache Airflow Pig Provider, Apache Airflow allows an attacker to control commands executed in the task execution context, without…
CVE-2022-38649Critical9.82022-11-22Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerability in Apache Airflow Pinot Provider, Apache Airflow allows an attacker to control commands executed in the task execution context, withou…
CVE-2022-38054Critical9.82022-09-02In Apache Airflow versions 2.2.4 through 2.3.3, the `database` webserver session backend was susceptible to session fixation.
CVE-2021-38540Critical9.82021-09-09The variable import endpoint was not protected by authentication in Airflow >=2.0.0, <2.1.3.
CVE-2020-13927Critical9.8KEV2020-11-10The previous default setting for Airflow's Experimental API was to allow all API requests without authentication, but this poses security risks to users who miss this fact.
CVE-2020-11982Critical9.82020-07-17An issue was found in Apache Airflow versions 1.10.10 and below.

Actively exploited (CISA KEV — 2)

CVESeverityCVSSKEVPublishedSummary
CVE-2020-11978High8.8KEV2020-07-17An issue was found in Apache Airflow versions 1.10.10 and below.
CVE-2020-13927Critical9.8KEV2020-11-10The previous default setting for Airflow's Experimental API was to allow all API requests without authentication, but this poses security risks to users who miss this fact.