Skip to main content

Apache Airflow CVE-2026-59245

HIGH
Improper Privilege Management (CWE-269)
2026-07-13 apache
8.1
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privileged Airflow user
  2. Delivery
    Obtain per-DAG grant on DAG named 'DAGs'
  3. Exploit
    resource_name() collides with global all-DAGs resource
  4. Execution
    Silently receive global all-DAGs permission
  5. Impact
    Read and edit every DAG in deployment

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires two concrete, non-default conditions: (1) a DAG must exist whose dag_id is exactly the string 'DAGs' (the same value as the reserved global all-DAGs resource name RESOURCE_DAG), and (2) an administrator must grant a lower-privileged FAB user per-DAG access_control on that specific 'DAGs' DAG. The deployment must be using the Apache Airflow FAB auth manager (apache-airflow-providers-fab) below 3.7.2. Given the CVSS vector's PR:L, the attacker must already hold an authenticated low-privileged Airflow account. Limiting factors: the escalation cannot occur unless someone names a DAG 'DAGs' (unusual) and an admin explicitly grants access to it, so an attacker cannot trigger it unilaterally against a default configuration; there is no user-interaction requirement beyond that, and once the grant exists the escalation is automatic and silent.

Impact

The vendor CVSS 3.1 score is 8.1 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N), reflecting network-reachable, low-privilege authenticated abuse with high confidentiality and integrity impact but no availability impact. However, real-world exploitability is meaningfully constrained by two preconditions the attacker does not control: a DAG must exist that is literally named 'DAGs', and an administrator must grant the low-privileged user per-DAG access_control to it. Because these are non-attacker-controlled conditions, I assess attack complexity as higher than the vendor's AC:L (see my assessed vector, AC:H). No EPSS score was provided in the input, and the CVE is not in CISA KEV, so there is no evidence of active exploitation; exploitation status is 'no public exploit identified at time of analysis'. Net: this is a legitimate high-severity privilege-escalation bug worth prioritizing for Airflow operators using the FAB auth manager, but it is a misconfiguration-dependent escalation rather than a mass-exploitable remote flaw - realistic risk is lower than the raw 8.1 suggests.

Exploit ScenarioDerived

In an Airflow deployment using the FAB auth manager, an administrator creates or already has a DAG whose dag_id is 'DAGs' and grants a low-privileged analyst per-DAG access to it via access_control. Because the vulnerable resource_name() maps 'DAGs' to the global all-DAGs permission resource, the analyst silently gains read and edit rights over every DAG in the environment, allowing them to view sensitive workflow definitions and modify pipelines they were never meant to touch. No public exploit code is required - the escalation happens automatically once the naming and grant conditions are met.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv3 – Jul 14, 2026

Privilege escalation in the Apache Airflow FAB auth manager (apache-airflow-providers-fab before 3.7.2) lets a low-privileged user who is granted per-DAG access to a DAG literally named 'DAGs' silently receive the global all-DAGs permission, gaining read and edit access to every DAG in the deployment. The flaw stems from a resource-name collision in resource_name(), where the reserved global resource string 'DAGs' is indistinguishable from a legitimate dag_id of the same value. No public exploit identified at time of analysis, and the issue is not listed in CISA KEV.

Earlier versions of this analysis (2)
v2 Jul 14, 2026 - 01:28 cvss changed CVSS 8.1

Privilege escalation in the Apache Airflow FAB auth manager (apache-airflow-providers-fab before 3.7.2) allows a low-privileged user who is granted per-DAG access_control on a DAG named exactly 'DAGs' to silently receive the global all-DAGs permission, gaining read and edit access to every DAG in the deployment. The flaw stems from the resource_name() function returning the raw dag_id when it collides with a reserved resource name, conflating one specific per-DAG grant with the global resource. No public exploit has been identified at time of analysis and it is not listed in CISA KEV, but the fix is confirmed by Apache and shipped in providers-fab 3.7.2.

v1 Jul 13, 2026 - 15:46

Privilege escalation in the Apache Airflow FAB auth manager silently grants a lower-privileged user read and edit access to every DAG in the system when two specific conditions coincide. The root cause is a namespace collision in the FAB auth manager's resource_name() function: the global all-DAGs permission resource string is literally 'DAGs', which is also a valid dag_id - so a per-DAG access_control entry for a DAG named 'DAGs' is indistinguishable from the global permission. No public exploit has been identified at time of analysis, and the vulnerability is not listed in CISA KEV; however, successful exploitation bypasses all DAG-level access controls, enabling unauthorized workflow inspection and modification.

RemediationAI

Vendor-released patch: upgrade apache-airflow-providers-fab to 3.7.2 or later, which disambiguates the resource-name collision so a DAG named 'DAGs' resolves to its own 'DAG:DAGs' resource; this is the primary and recommended fix (see PR https://github.com/apache/airflow/pull/69106 and advisory https://lists.apache.org/thread/70f37q3mwov1vm3zolrfxlzds278c78h). If immediate patching is not possible, a targeted compensating control is to rename any DAG whose dag_id is exactly 'DAGs' to any other identifier, which eliminates the collision entirely with minimal side effects beyond updating references to that DAG. As an additional interim measure, audit and revoke per-DAG access_control grants on any DAG named 'DAGs' and review FAB role assignments to confirm no low-privileged user has been inadvertently escalated to the global all-DAGs permission; the trade-off is administrative overhead and potential disruption to legitimate users who need access to that specific DAG.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Apache Airflow's legacy Flask-AppBuilder (FAB) auth manager maps DAG-level authorization onto FAB permission resources. The helper resource_name(dag_id, RESOURCE_DAG) is meant to produce a per-DAG resource such as 'DAG:my_dag', while the singular reserved name 'DAGs' (RESOURCE_DAG) represents the global all-DAGs permission. The vulnerable code short-circuited and returned the raw dag_id whenever it matched an entry in RESOURCE_DETAILS_MAP, so a DAG whose dag_id equals 'DAGs' resolved to the global resource name rather than its own 'DAG:DAGs' resource. This is a classic CWE-269 Improper Privilege Management failure caused by an identifier-namespace collision between attacker-influenceable data (a DAG name) and a trusted, reserved authorization token. The fix (PR #69106) removes the short-circuit so 'DAGs' correctly resolves to 'DAG:DAGs', verified by regression tests asserting resource_name(RESOURCE_DAG, RESOURCE_DAG) == 'DAG:DAGs'. Affected component per CPE is cpe:2.3:a:apache_software_foundation:apache_airflow_fab_provider.

Know when Apache Airflow Fab Provider gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (apache) PRIMARY MEDIUM
NVD 8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 6.8 MEDIUM

Web/API reachable (AV:N) by an authenticated low-priv user (PR:L), but requires a DAG named 'DAGs' plus an admin-issued grant outside attacker control (AC:H); read/edit of all DAGs gives C:H/I:H, no availability impact (A:N).

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (apache).

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

4
Analysis Updated
Jul 14, 2026 - 01:28 vuln.today
v3 - CVSS changed
Analysis Updated
Jul 14, 2026 - 01:28 vuln.today
v2 - CVSS changed
CVSS changed
Jul 14, 2026 - 01:22 NVD
8.1 (HIGH)
CVE Published
Jul 13, 2026 - 15:05 cve.org
MEDIUM

DescriptionNVD

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.

Executive ViewAI

Why It Matters

A privilege escalation vulnerability in Apache Airflow's FAB authentication manager (versions before 3.7.2) allows low-privileged workflow operators to silently escalate permissions to global administrative access, gaining unauthorized read and edit access to every workflow in the deployment. Organizations using this provider face risk of sensitive workflow data exposure, operational sabotage, and potential compliance violations across their entire orchestration infrastructure.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 72% exploitable
Prevalence
High
Apache Airflow is widely deployed for data orchestration; FAB was the default auth manager
Social Media
2
Sightings
Data Quality
6 sources
Confidence: High
NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

Affected Products (CPE)NVD

cpe:2.3:a:apache_software_foundation:apache_airflow_fab_provider:*:*:*:*:*:*:*:*

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy