GHSA-5247-m8w9-2v4m

Apache Airflow missing team context permits cross-team Dag actions and XCom reads

At a glance

Published
Updated
CVE
CVE-2026-68971
Aliases
BIT-airflow-2026-68971, PYSEC-2026-3994
CVSS_V3
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

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:<team>` -- 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.

Affected packages

PackageVersions
PyPI · apache-airflowintroduced 0, fixed 3.3.1

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database