CVE-2026-41014 Apache Airflow: per-DAG RBAC bypass on /ui/partitioned_dag_runs endpoints
Authenticated users with global asset permissions can bypass per-DAG authorization to read unauthorized DAG run states and configurations.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-41014?
CVE-2026-41014 is a medium-severity missing authorization vulnerability in Apache Airflow, published on 1 Jun 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
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.
Weakness: CWE-862
Which versions are affected by CVE-2026-41014?
4 open source packages ship an affected version, including apache-airflow and airflow. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
apache-airflow PyPI | From 3.2.0 | 3.2.2 |
apache-airflow PyPI | From 3.2.0 | 3.2.2 |
apache-airflow PyPI | From 3.2.0 | 3.2.2 |
airflow Bitnami | From 3.2.0 | 3.2.2 |
Products include Apache Airflow.
How do I fix CVE-2026-41014?
Upgrade apache-airflow to 3.2.2 or later.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-41014 being exploited?
There is no known exploitation of CVE-2026-41014 in the wild and no public exploit code.
Other vulnerabilities in Apache Airflow
- CVE-2020-13927 Apache Airflow's Experimental API Authentication Bypass
- CVE-2020-11978 Apache Airflow Command Injection
- CVE-2026-33264 Apache Airflow: DAG author RCE on webserver via unrestricted import_string() in BaseSerialization.deserialize()
- CVE-2023-25754 Apache Airflow: Privilege escalation using airflow logs
- CVE-2023-22884 Apache Airflow, Apache Airflow MySQL Provider: Arbitrary file read via MySQL provider in Apache Airflow
Sources
Also known as BIT-airflow-2026-41014, CLEANSTART-2026-AV02486, ECHO-f20c-02c0-a1db, GHSA-x2x7-p37c-43cr, MINI-4jcf-gw4p-78mr, PYSEC-2026-182.