GitHub Advisoryadvisory · PyPI

GHSA-5247-m8w9-2v4m Apache Airflow missing team context permits cross-team Dag actions and XCom reads

MEDIUM Published 2026-08-12 Modified 2026-10-02 Official page ↗
Aliases
CVE-2026-68971
Ecosystem
PyPI
Packages
apache-airflow
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Weaknesses
CWE-862
Reviewed
2026-10-02

Affected packages

• PyPI apache-airflow: < 3.3.1 → fixed in 3.3.1

Description

Apache 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. A team-aware auth manager distinguishes a team-scoped Dag from a global one by that field -- the Keycloak auth manager, for example, checks the `DAG` resource instead of `DAG:` -- so the team-scoped permission that should gate the request was never consulted. In a deployment running multi-team mode with a team-aware auth manager, an authenticated user in one team could trigger Dag runs belonging to another team, supplying their own `dag_run_id` and `conf`, and could read another team's XCom values. Deployments using the FAB auth manager are unaffected, as it has no multi-team support. Users are advised to upgrade to apache-airflow 3.3.1 or later, which resolves the Dag's team at both sites.

Related

Alias · CVE (1)

  • CVE-2026-68971 Apache Airflow's asset materialization endpoint (`POST /api/v2/assets/{asset_id}/materialize`) and the XCom result check on… vulnerability

Weakness · CWE (1)

  • CWE-862 Missing Authorization weakness

References