CVE-2026-24098
Apache Airflow vulnerability analysis and mitigation

Overview

CVE-2026-24098 is an information disclosure vulnerability in Apache Airflow that allows authenticated UI users with permission to one or more specific DAGs to view import errors generated by other DAGs they are not authorized to access. It affects Apache Airflow versions 3.0.0 through 3.1.6 (i.e., before 3.1.7); versions prior to 3.0.0 (such as 2.x) are not affected. The vulnerability was disclosed on February 9, 2026, via the oss-security mailing list, with a fix merged on January 21, 2026. It carries a CVSS v3.1 base score of 6.5 (Medium) (Feedly, Openwall).

Technical details

The root cause is an improper authorization check (CWE-200: Exposure of Sensitive Information to an Unauthorized Actor) in the import error API endpoints of Apache Airflow's FastAPI-based REST API. Specifically, the code incorrectly used auth_manager.is_authorized_dag(method="GET", user=user) to check whether a user has permission to read all DAGs — but this method actually checks whether a user is authorized to list DAGs, not whether they have access to all DAGs. The fix replaced this check with get_authorized_dag_ids to properly filter import errors to only those DAGs the user is permitted to access. An authenticated attacker with any DAG-level read permission can exploit this by querying the import errors API endpoint to retrieve error messages from DAGs outside their authorized scope (GitHub PR, Openwall).

Impact

Successful exploitation allows an authenticated attacker to view import error messages from DAGs they are not authorized to access, potentially exposing sensitive information about DAG configurations, file paths, dependencies, Python code structure, and system architecture. While there is no integrity or availability impact, the confidentiality impact is rated High, as DAG import errors can reveal internal implementation details that could aid further attacks or reconnaissance. The vulnerability does not enable code execution or privilege escalation on its own (Feedly, Openwall).

Exploitation steps

  1. Authenticate: Log in to the Apache Airflow UI with a valid account that has read permission to at least one specific DAG (but not all DAGs).
  2. Identify the import errors API endpoint: Locate the REST API endpoint for import errors, e.g., GET /api/v1/importErrors or the equivalent FastAPI route in Airflow 3.x (/public/importErrors).
  3. Send API request: Issue an authenticated HTTP GET request to the import errors endpoint using the session token or API key obtained during login.
  4. Observe unauthorized data: Due to the flawed permission check, the API response returns import error records for DAGs beyond the user's authorized scope, revealing file paths, Python tracebacks, and configuration details of other DAGs.
  5. Harvest information: Analyze the returned error messages to gather intelligence about DAG structure, dependencies, and system internals for further reconnaissance or targeted attacks (GitHub PR, Openwall).

Indicators of compromise

  • Network: Unusual or repeated authenticated HTTP GET requests to the Airflow import errors API endpoint (e.g., /api/v1/importErrors or /public/importErrors) from users who have limited DAG permissions.
  • Logs: Airflow access logs showing low-privilege users querying the import errors endpoint and receiving responses containing data from DAGs outside their authorized scope; look for users with single-DAG permissions making bulk import error queries.
  • Behavioral: A user account with restricted DAG access making frequent or automated calls to the import errors API, particularly outside normal working hours or from unusual IP addresses.

Mitigation and workarounds

The primary remediation is to upgrade Apache Airflow to version 3.1.7 or later, which contains the fix for the improper permission check in the import error API (merged via PR #60801 on January 21, 2026). No configuration-based workaround is available; the flaw is in the API logic itself. As interim measures, administrators should review RBAC configurations to ensure DAG-level permissions are as restrictive as necessary, restrict network-level access to the Airflow UI and API to trusted personnel, and audit access logs for signs of exploitation. Note that Airflow 2.x versions are not affected by this CVE (GitHub PR, Openwall).

Community reactions

The vulnerability was credited to security researcher Saurabh (finder) and disclosed by Apache Airflow maintainer Ephraim Anierobi via the oss-security mailing list on February 9, 2026. A Bluesky post from the infosec community noted the disclosure. The Apache Airflow maintainer potiuk clarified on the GitHub PR that Airflow 2.x (e.g., 2.8.3) is not affected, addressing community confusion stemming from the GHSA entry's broad version range (< 3.1.7). Qualys added detection for this CVE in their February 2026 application security detections update (Openwall, 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-33264CRITICAL9.8
  • Apache Airflow logoApache Airflow
  • apache-airflow
NoYesJul 07, 2026
CVE-2026-49487MEDIUM6.5
  • Apache Airflow logoApache Airflow
  • airflow
NoYesJul 07, 2026
CVE-2026-49296MEDIUM6.5
  • Apache Airflow logoApache Airflow
  • apache-airflow
NoYesJul 07, 2026
CVE-2026-48892MEDIUM6.5
  • Apache Airflow logoApache Airflow
  • apache-airflow
NoYesJul 07, 2026
CVE-2026-48891MEDIUM4.3
  • Apache Airflow logoApache Airflow
  • apache-airflow
NoYesJul 07, 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