CVE-2026-59245

Apache Airflow FAB provider: FAB auth manager: a DAG named "DAGs" hijacks the global all-DAGs permission (access_control privilege escalation via resource_name() collision)

Published Jul 13, 2026 CVSS 3.1 · 8.1 High EPSS < 1% KEV · Not listed
Description
In the Apache Airflow FAB auth manager, a DAG whose `dag_id` is `DAGs` collided with the global all-DAGs permission resource name produced by `resource_name()`, so a user granted per-DAG `access_control` on that one DAG was silently granted the global all-DAGs permission (privilege escalation). The escalation triggers when a DAG named `DAGs` exists and a lower-privileged user is given per-DAG access to it, granting that user read/edit access to every DAG. Users are advised to upgrade to `apache-airflow-providers-fab` 3.7.2 or later, which disambiguates the resource-name collision.

Analysis

AI-generated

Technical impact

In the Apache Airflow FAB auth manager a DAG whose dag_id is "DAGs" collides with resource_name(), so a user granted per‑DAG access to that DAG silently receives the global all‑DAGs permission. Based on the description, it is inferred that a lower‑privileged user can create or rename a DAG named "DAGs", thereby elevating privileges to read or edit every DAG. This privilege escalation transforms granular access control into unrestricted access, representing a CWE-269 vulnerability.

Affected Systems

Apache Airflow FAB provider is affected. Versions of the apache-airflow-providers-fab package prior to 3.7.2 are vulnerable; upgrades to 3.7.2 or later fix the resource‑name collision.

Risk and Exploitability

The CVSS score is 8.1. Because the EPSS score is less than 1%, the likelihood of exploitation is low. The vulnerability is not listed in the CISA KEV catalog, so no public exploits are known. The likely attack vector is a user with permission to create or update DAGs creating a 'DAGs' entry, which then gains the all‑DAGs permission. The required precondition is the existence of a DAG named "DAGs" and an existing per‑DAG access control on it. The resulting impact is complete privilege escalation within the Airflow instance.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to apache‑airflow‑providers‑fab 3.7.2 or newer, which disambiguates the resource‑name collision.
  • Rename or remove any existing DAG with dag_id "DAGs" to eliminate the collision.
  • Review and restrict per‑DAG access_control permissions, ensuring that low‑privileged users are not granted unnecessary DAG access until the vulnerability has been mitigated.

Generated by OpenCVE AI on July 31, 2026 at 11:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Apache
Apache airflow Fab Provider
Vendors & Products Apache
Apache airflow Fab Provider
Type Values Removed Values Added
Description In the Apache Airflow FAB auth manager, a DAG whose `dag_id` is `DAGs` collided with the global all-DAGs permission resource name produced by `resource_name()`, so a user granted per-DAG `access_control` on that one DAG was silently granted the global all-DAGs permission (privilege escalation). The escalation triggers when a DAG named `DAGs` exists and a lower-privileged user is given per-DAG access to it, granting that user read/edit access to every DAG. Users are advised to upgrade to `apache-airflow-providers-fab` 3.7.2 or later, which disambiguates the resource-name collision.
Title Apache Airflow FAB provider: FAB auth manager: a DAG named "DAGs" hijacks the global all-DAGs permission (access_control privilege escalation via resource_name() collision)
Weaknesses CWE-269
References
Weaknesses
  • CWE-269

    Improper Privilege Management

Sources

Status
PUBLISHED
Assigner
apache
Published
Updated
Sep 16, 2026, 2:55 PM
Reserved
Jul 4, 2026, 1:50 AM
Status
Modified
Published
Jul 13, 2026, 4:16 PM
Modified
Oct 24, 2026, 10:10 PM