CVE-2026-75158: Apache Airflow: Assets events API returns asset events for every Dag with no per-Dag authorization filter
Apache Airflow's /assets/events API returned asset events for every Dag in the deployment, with no filter restricting them to the Dags the caller is authorized to read. Any authenticated user holding asset-read access could therefore enumerate asset events — including the source Dag ID, task ID, run ID and event timestamps — for Dags they have no permission to see. Because the filter was also absent from the count query, totalentries and pagination disclosed the existence of hidden Dags even without inspecting individual rows. Deployments are affected whenever per-Dag access control is used to separate teams or tenants; no special configuration is required. Upgrade to apache-airflow 3.3.2 or later.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Apache Airflowto a version that resolves this vulnerability.Fixed in 3.3.2
Event History
Frequently Asked Questions
Which deployments are exposed to meaningful unauthorized disclosure?
Deployments that use per-Dag access control to separate teams or tenants are affected. Any authenticated user with asset-read access can enumerate events for Dags they are not authorized to view.
What information can an unauthorized user obtain?
The API can disclose asset-event metadata including source Dag IDs, task IDs, run IDs, and event timestamps. The total_entries value and pagination can also reveal that hidden Dags exist, even without examining returned event rows.
Does exploitation require a special configuration or elevated privileges?
No special configuration is required. An attacker needs an authenticated account with asset-read access; they do not need permission to read the affected Dags.
What version resolves the issue?
Upgrade to Apache Airflow 3.3.2 or later.