CVE-2026-40690
Apache Airflow vulnerability analysis and mitigation

Overview

CVE-2026-40690 is an insufficient access control vulnerability in Apache Airflow's asset dependency graph view that allows authenticated users to enumerate DAGs and assets outside their authorized scope. The flaw affects all Apache Airflow versions before 3.2.1 and was disclosed on April 24, 2026, with a fix merged on April 15, 2026. It carries a CVSS v3.1 base score of 4.3 (Medium), reflecting its network-accessible but low-privilege, low-impact nature (Openwall OSS-Sec, GitHub PR).

Technical details

The root cause is CWE-1220 (Insufficient Granularity of Access Control): the data-dependency graph API endpoint (/ui/dependencies?node_id=asset:&dependency_type=data) returned asset nodes without validating whether the requesting user had read access to any DAG associated with that asset. A user with read access to even a single DAG could query the asset graph for any arbitrary asset in the deployment, learning its name and topology fragments reachable through their readable DAGs. The fix enforces that an asset is returned as HTTP 404 unless the user has read access to at least one DAG that produces, consumes, or is scheduled by it; tasks from non-readable DAGs are also filtered from the returned graph (GitHub PR, Openwall OSS-Sec).

Impact

Exploitation allows an authenticated low-privilege user to enumerate the names and existence of all DAGs and assets across the entire Airflow deployment, including those they are explicitly not authorized to view. This constitutes an unauthorized information disclosure (confidentiality impact) that could expose sensitive workflow names, data pipeline topology, and infrastructure details to internal adversaries or compromised accounts. There is no integrity or availability impact, and the vulnerability does not enable direct code execution or lateral movement (Openwall OSS-Sec, GitHub PR).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the time of disclosure. The EPSS score is approximately 0.02%, reflecting very low probability of near-term exploitation. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. Exploitation requires valid credentials with at least read access to one DAG, limiting the attack surface to authenticated internal users or compromised accounts (Openwall OSS-Sec).

Exploitation steps

  1. Authenticate: Log in to the Apache Airflow web UI or API with any account that has read access to at least one DAG in the deployment.
  2. Identify the vulnerable endpoint: Locate the asset dependency graph API endpoint at /ui/dependencies?node_id=asset:<asset_name>&dependency_type=data.
  3. Enumerate assets: Craft requests substituting different asset names or IDs in the node_id parameter to probe for assets outside the user's authorized scope. The endpoint returns asset node data regardless of DAG-level permissions.
  4. Map the topology: By iterating over asset names or following graph edges returned in responses, enumerate DAG names, asset names, and dependency relationships across the entire deployment that the user should not have visibility into (GitHub PR, Openwall OSS-Sec).

Indicators of compromise

  • Network/Logs: Unusual or high-frequency HTTP GET requests to /ui/dependencies with varying node_id=asset: parameters from a single authenticated user account, particularly for assets unrelated to that user's assigned DAGs.
  • Application Logs: Airflow web server access logs showing a low-privilege user account systematically querying the asset dependency graph endpoint across many different asset identifiers in a short time window.
  • Behavioral: A user account with access to only one or a few DAGs generating a disproportionately large number of asset graph API calls, suggesting automated enumeration.

Mitigation and workarounds

Upgrade Apache Airflow to version 3.2.1 or later, which enforces DAG-level read permission checks on the asset dependency graph endpoint and returns HTTP 404 for unauthorized assets. No configuration-based workaround is available for versions prior to 3.2.1; upgrading is the only remediation. Organizations should also review Airflow user permissions to ensure the principle of least privilege is applied to DAG access (GitHub PR, Openwall OSS-Sec).

Community reactions

The vulnerability was credited to security researcher Saurabh (finder) and remediated by Apache Airflow maintainer Jarek Potiuk. The fix was discussed briefly on Bluesky infosec communities and tracked by NixOS's security tracker (NixOS/nixpkgs#513919). Overall community reaction has been muted given the low severity rating and absence of a public exploit (Openwall OSS-Sec, GitHub PR).

Additional resources


SourceThis report was generated using AI

Related Apache Airflow vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-67587HIGH8.8
  • Apache Airflow logoApache Airflow
  • apache-airflow
NoYesAug 12, 2026
CVE-2026-68968HIGH7.5
  • Apache Airflow logoApache Airflow
  • airflow
NoYesAug 12, 2026
CVE-2026-68970MEDIUM6.5
  • Apache Airflow logoApache Airflow
  • apache-airflow
NoYesAug 12, 2026
CVE-2026-68969MEDIUM6.5
  • Apache Airflow logoApache Airflow
  • apache-airflow
NoYesAug 12, 2026
CVE-2026-68076MEDIUM5.4
  • Apache Airflow logoApache Airflow
  • airflow
NoYesAug 12, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management