Apache Airflow exposes unreadable DAG identifiers in the scheduling dependencies graph
Medium4.3CVE-2026-48891 · Published Jul 7, 2026 · updated Sep 4, 2026
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| apache-airflow PyPI | < 3.3.0 | 3.3.0 |
Details and references
A 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 trigger / sensor dependency entries. An authenticated UI user with read permission on some Dags could enumerate the identifiers of other Dags they were not authorized to read by inspecting the dependency graph for trigger / sensor references. Affects deployments that rely on per-Dag read scoping to keep Dag identifiers private across teams. This is a residual gap in the fix for CVE-2026-28563, which filtered the top-level Dag key but did not propagate the filter into the trigger / sensor dep-source / dep-target fields. Users who already upgraded for CVE-2026-28563 should additionally upgrade to `apache-airflow` 3.3.0 or later to cover the residual trigger / sensor dependency leak.
- CVSS 3.1
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-200
- Also known as
- BIT-airflow-2026-48891, CVE-2026-48891, PYSEC-2026-2086
- nvd.nist.gov/vuln/detail/CVE-2026-48891
- github.com/apache/airflow/pull/67627
- github.com/apache/airflow/commit/e61c9bac30a7b1a7f68589629f10c4cb247c683e
- github.com/apache/airflow
- github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-2086.yaml
- lists.apache.org/thread/wzc8nflg94rq6w8f5tvtlo0o3g4wjrfl
- www.cve.org/CVERecord?id=CVE-2026-28563
More Apache Airflow advisories
All Apache Airflow| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Jul 7 | Apache Airflow allows code execution through unsafe serialized DAG deserialization CVE-2026-33264Critical9.8fixed in 3.3.0 | Critical9.8 | 3.3.0 |
| Jul 7 | Apache Airflow exposes sensitive JSON Variable values through the Bulk Variables API CVE-2026-48828Medium6.5fixed in 3.3.0 | Medium6.5 | 3.3.0 |
| Jul 7 | Apache Airflow exposes secrets backend credentials through the Config API CVE-2026-48892Medium6.5fixed in 3.3.0 | Medium6.5 | 3.3.0 |
| Jul 7 | Apache Airflow exposes deferred trigger kwargs in task-instance API responses CVE-2026-49487Medium6.5fixed in 3.3.0 | Medium6.5 | 3.3.0 |
| Jul 7 | apache-airflow DAG source authorization bypass exposes co-located DAG source CVE-2026-49296Medium6.5fixed in 3.3.0 | Medium6.5 | 3.3.0 |
| Jun 1 | Apache Airflow has no certificate validation on SMTP STARTTLS connections CVE-2026-49267Medium5.9fixed in 3.2.2 | Medium5.9 | 3.2.2 |