
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-49296 is an authorization bypass vulnerability in Apache Airflow that allows an authenticated user with read access to one DAG to disclose the source code of other DAGs co-located in the same source file. The flaw affects Apache Airflow versions 3.0.0 through 3.2.x (all versions before 3.3.0); single-DAG-per-file deployments are not affected. It was discovered by Matteo Panzeri (Università di Pavia, GitHub @matte1782) and publicly disclosed on July 7, 2026, with a patch released in Apache Airflow 3.3.0. The vulnerability carries a CVSS v3.1 base score of 6.5 (Medium) (Apache Advisory, GitHub Advisory).
The root cause is classified as CWE-639 (Authorization Bypass Through User-Controlled Key): the GET /api/v2/dagSources/{dag_id} API endpoint — and its equivalent UI view — returned the entire source file associated with the requested DAG ID without checking whether the caller was authorized to read all DAGs defined within that file (OSS-Sec). Because a single Python file can define multiple DAGs, an attacker who holds DagAccessEntity.CODE read permission on any one DAG in the file could supply that DAG's ID as the key and receive the full file contents, including source code for co-located DAGs they were explicitly denied access to. The fix, implemented in PR #67662, enumerates all DAGs sharing the same (relative_fileloc, bundle_name) as the requested DAG, intersects that set with the caller's readable DAG set, and redacts the response with a placeholder message if any co-located DAG is not readable by the caller (GitHub PR).
Successful exploitation results in unauthorized disclosure of DAG source code, which may contain sensitive business logic, credentials, connection strings, or infrastructure details embedded in workflow definitions. The confidentiality impact is rated High, while integrity and availability are unaffected. Deployments that co-locate multiple DAGs with different access control requirements in a single file and rely on per-DAG access control for source isolation are the primary risk group; organizations using single-DAG-per-file layouts are not affected (GitHub Advisory, OSS-Sec).
DagAccessEntity.CODE (read) permission on at least one DAG.GET /api/v2/dags to enumerate DAG IDs visible to the authenticated account, including DAGs the user is authorized to read.GET /api/v2/dagSources/{dag_id} using the ID of a DAG the attacker is authorized to read.GET /api/v2/dagSources/{dag_id} requests from a single authenticated user account, especially targeting multiple different DAG IDs in rapid succession.The primary remediation is to upgrade Apache Airflow to version 3.3.0 or later, which applies per-file authorization to the dagSources endpoint (Apache Advisory, GitHub PR). If immediate patching is not feasible, organizations should restructure DAG files to place each DAG in its own dedicated source file, eliminating the co-location condition that enables the bypass. Additionally, administrators should audit and restrict DagAccessEntity.CODE permissions to minimize the number of users who can access DAG source endpoints, and review existing DAG file organization to identify files that mix DAGs with different access control requirements.
The vulnerability was disclosed via the Apache security mailing list and the oss-security list on July 7, 2026, with the reporter credited as Matteo Panzeri of Università di Pavia (OSS-Sec). The advisory was noted on social platforms including Bluesky by CVE tracking accounts shortly after disclosure. Community reaction has been measured given the Medium severity rating and the limited scope (only multi-DAG-per-file deployments with per-DAG access controls are affected).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."