Description
Before apache-airflow 3.3.0, a user authorized to read one Dag could disclose the source of other Dags co-located in the same source file. `GET /api/v2/dagSources/{dag_id}` — and the equivalent Dag-source view in the UI — returned the entire source file without redacting Dags the caller was not authorized to read, bypassing per-DAG read authorization. Deployments that co-locate multiple Dags in a single file and rely on per-DAG access control to limit source visibility are affected; single-Dag-per-file deployments are not. Upgrade to apache-airflow 3.3.0 or later.
Published: 2026-07-07
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A user who has read permission on any DAG can retrieve the entire source file that contains that DAG through the GET /api/v2/dagSources/{dag_id} endpoint or the equivalent graphical view. The response is not filtered by the intended per‑DAG access policy, so code for DAGs that the caller is not allowed to see is also returned. This bypass is an instance of improper authorization (CWE‑639) that lets the attacker gain visibility into source code that should remain confidential.

Affected Systems

The flaw affects all installations of Apache Airflow that run any version earlier than 3.3.0 and that define multiple DAGs within a single Python file. Systems that keep one DAG per file are not impacted, and any deployment running 3.3.0 or later is already fixed.

Risk and Exploitability

An attacker must be authenticated and hold read access to at least one DAG in the file; once those conditions are met, the vulnerability can be exercised through the REST API or the web UI. The CVSS score of 6.5 reflects a moderate impact on confidentiality. The EPSS score of less than 1% indicates a low probability of widespread exploitation, and the weakness is not listed in the CISA KEV catalog.

Generated by OpenCVE AI on July 26, 2026 at 19:30 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Apache Airflow to version 3.3.0 or later.
  • Configure the Airflow API so that only privileged users can call the /api/v2/dagSources endpoint, effectively blocking unauthorized read access.
  • Restructure DAG files so that each file contains only one DAG, reducing the amount of code exposed if an upgrade is delayed.
  • Monitor API usage logs for suspicious calls to the /api/v2/dagSources endpoint to detect potential exploitation attempts.

Generated by OpenCVE AI on July 26, 2026 at 19:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 07 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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

ssvc

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


Tue, 07 Jul 2026 11:45:00 +0000

Type Values Removed Values Added
First Time appeared Apache
Apache airflow
Vendors & Products Apache
Apache airflow

Tue, 07 Jul 2026 10:15:00 +0000

Type Values Removed Values Added
Description Before apache-airflow 3.3.0, a user authorized to read one Dag could disclose the source of other Dags co-located in the same source file. `GET /api/v2/dagSources/{dag_id}` — and the equivalent Dag-source view in the UI — returned the entire source file without redacting Dags the caller was not authorized to read, bypassing per-DAG read authorization. Deployments that co-locate multiple Dags in a single file and rely on per-DAG access control to limit source visibility are affected; single-Dag-per-file deployments are not. Upgrade to apache-airflow 3.3.0 or later.
Title Apache Airflow: Per-DAG read bypass discloses co-located DAGs' source via GET /api/v2/dagSources/{dag_id}
Weaknesses CWE-639
References

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-07-07T13:28:17.894Z

Reserved: 2026-05-28T20:36:21.757Z

Link: CVE-2026-49296

cve-icon Vulnrichment

Updated: 2026-07-07T12:48:10.408Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-26T19:45:03Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key