Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with ImportError.can_read grant
-
ExploitCall public Import Errors API
-
ExecutionReceive raw parse-failure stack trace
-
ImpactHarvest leaked file paths and code
Vulnerability Assessment
| Exploitation Conditions | Requires an authenticated Airflow account holding the ImportError.can_read permission on a deployment running a version before 3.4.0. The disclosure triggers only for a failing file that has no currently registered DAG - specifically when the file fails to parse before any DAG is defined, or when all of its previously registered DAGs have been removed while the parse error remains; files that still have a registered DAG are correctly scoped. Exploitation is limited to reading confidential data (file paths and code in stack traces) and is bounded by the existing RBAC grant, so it is primarily an internal privilege-boundary/multi-tenant concern rather than anonymous remote access. |
| Impact | This is a low-severity information-disclosure issue in Apache Airflow's public Import Errors API, and the available signals are consistent in pointing to low real-world urgency rather than an emergency. No CVSS vector was supplied by NVD or the vendor (CVSS: N/A), there is no EPSS score, the flaw is not in CISA KEV, and no public exploit code or PoC reference is present - the only code reference is the remediation pull request (apache/airflow#69790), not an exploit. The vuln.today decision label is 'awaiting_data', meaning no priority-elevating signal has been established. Exploitation is gated behind an authenticated account that already holds the ImportError.can_read permission, so this is a privilege-boundary leak between internal users rather than an externally reachable flaw: a user who can read import errors sees raw parse stack traces (file paths and code) for files they should not have visibility into. The practical impact is limited to confidentiality of source-file paths and code snippets, with no integrity or availability effect. Net: a genuine but low-priority hardening fix, not a high-CVSS-but-low-risk inflation case nor an active-exploitation emergency. Missing data to note explicitly: no official CVSS vector exists, so severity rests on the vendor's 'low' rating and the description alone; verify against the Apache advisory if a precise score is required. |
| Exploit ScenarioDerived | An authenticated Airflow user who has been granted the ImportError.can_read permission (for example a limited operator in a multi-tenant deployment) queries the public Import Errors API. For a file that failed to parse before any DAG was registered - or whose DAGs were all removed while the parse error persisted - the API returns the raw stack trace, disclosing file paths and source code the user was not authorized to see. No public exploit code or PoC is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 09, 2026
Information disclosure in Apache Airflow before 3.4.0 allows an authenticated user holding the ImportError.can_read permission to read raw parse-failure stack traces for DAG files that have no currently registered DAG, exposing file paths and code fragments beyond that user's intended per-file scope. Files that still have a registered DAG are correctly scoped, so the leak is bounded by an existing RBAC grant and is chiefly an internal privilege-boundary and multi-tenant concern rather than anonymous remote access. No public exploit was identified at the time of analysis and the issue is not in CISA KEV; independent assessment rates it low severity (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N), with the vendor-released fix in 3.4.0.
RemediationAI
Upgrade to Apache Airflow 3.4.0 or later, which restricts import-error stack traces to holders of the new IMPORT_ERRORS_ALL permission; the change is implemented in upstream pull request https://github.com/apache/airflow/pull/69790, with advisory references at https://airflow.apache.org/ and https://seclists.org/oss-sec/2026/q4/583. After upgrading, review role grants and assign IMPORT_ERRORS_ALL only to users who genuinely need raw import-error output, since users who previously relied on ImportError.can_read alone will no longer see these traces. No separate workaround is documented in the supplied sources; the vendor-released fix is version 3.4.0.
Affected ProductsAI
Apache Airflow versions before 3.4.0 are affected; no CPE identifiers were supplied with the data. Exposure requires a deployment in which users are granted ImportError.can_read, and the leak only manifests for failing DAG files that have no currently registered DAG - files that still own a registered DAG are scoped correctly. Apache Airflow 3.4.0 addresses the issue, per the upstream pull request at https://github.com/apache/airflow/pull/69790 and the project site at https://airflow.apache.org/, with the release announcement describing the 3.4.0 feature set.
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
The flaw sits in Airflow's Import Errors API, the surface that exposes DAG-file parse failures. Airflow's RBAC model intends per-file scoping of import-error records, but enforcement is incomplete: when a failing file has no registered DAG - because it failed to parse before any DAG was defined, or because all of its previously registered DAGs were removed while the parse error remained - the raw stack trace is returned to anyone with ImportError.can_read instead of being restricted to those entitled to that file. Stack traces of this kind can carry filesystem paths and fragments of the file's code. No CWE identifier is assigned in the supplied data; the class is a permission-scoping information-disclosure defect, not memory corruption. The 3.4.0 fix adds a distinct IMPORT_ERRORS_ALL permission that gates access to these stack traces, and the upstream change is carried in pull request 69790.
Know when the next one hits your stack
- 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
Network-reachable API (AV:N) usable by any user with the ImportError.can_read grant (PR:L, AC:L, no UI); limited confidentiality disclosure of file paths and code only, no integrity or availability impact.
Estimated by vuln.today — no official severity rating has been published for this CVE yet.
Description PRE-NVD
Threat Intelligence Overview
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.
What every action level means
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
CVE.org
GitHub PoC
Exploit-DB