CVE-2026-25219
Apache Airflow vulnerability analysis and mitigation

Overview

CVE-2026-25219 is an information disclosure vulnerability in Apache Airflow where the access_key and connection_string connection properties were not marked as sensitive fields in the secrets masker. This omission allowed users with read permissions to view these values in plaintext via the Connection UI and in application logs when connections were accidentally logged. The vulnerability primarily affects Azure Service Bus connections, though other providers using the same fields may also be impacted. It affects Apache Airflow versions before 3.2.0 (with a backport fix available in 3.1.8) and was disclosed on April 15, 2026, with a CVSS v3.1 base score of 6.5 (Medium) (Github Advisory, Openwall).

Technical details

The root cause is classified as CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor). Apache Airflow's secrets masker uses a list of DEFAULT_SENSITIVE_FIELDS to automatically redact sensitive values in API responses and logs; however, access_key and connection_string — used by Azure Blob Storage, Azure File Share, Azure Data Lake, and Azure Service Bus to store credentials in the connection extra JSON — were absent from this list. As a result, any authenticated user with read-only (e.g., Viewer role) access to Airflow connections could retrieve these secrets in plaintext through the Connections API or UI, and the values would appear unmasked in log output if connections were inadvertently logged. The fix, implemented in pull requests #61580 and #61582, adds both fields to DEFAULT_SENSITIVE_FIELDS to ensure automatic redaction (Github PR #61580, Github PR #61582).

Impact

Successful exploitation allows any authenticated user with read permissions to the Airflow Connections interface to obtain sensitive credentials — specifically Azure Service Bus access keys and connection strings — in plaintext, constituting a high confidentiality impact with no integrity or availability impact. Exposed credentials could be leveraged to access Azure messaging infrastructure, potentially enabling unauthorized message interception, data exfiltration, or lateral movement into connected Azure services. Additionally, if Airflow logs are accessible to broader audiences (e.g., via log aggregation systems), the exposure surface extends beyond direct UI access (Github Advisory, Openwall).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation at the time of disclosure. The EPSS score is approximately 0.011% (0.026% per GitHub Advisory), placing it in a low exploitation probability tier. The vulnerability requires low privileges (authenticated read access to Airflow connections) and no user interaction, making it straightforward to exploit for any insider or compromised account with Viewer-level access. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog, and no threat actor attribution has been reported (Github Advisory, Openwall).

Exploitation steps

  1. Reconnaissance: Identify an Apache Airflow instance running a version prior to 3.1.8 (or 3.2.0) that has Azure Service Bus or other Azure provider connections configured with access_key or connection_string fields.
  2. Authenticate with low-privilege account: Log in to the Airflow web UI or API using any account that has at least read (Viewer) access to the Connections section — no administrative privileges are required.
  3. Access Connection UI or API: Navigate to the Connections page in the Airflow UI, or query the Connections REST API endpoint (e.g., GET /api/v1/connections/{conn_id}) for the target connection.
  4. Retrieve plaintext credentials: Because access_key and connection_string are not in DEFAULT_SENSITIVE_FIELDS, their values are returned unmasked in the UI and API response, exposing the Azure Service Bus access key or connection string in plaintext.
  5. Abuse exposed credentials: Use the retrieved connection string or access key to authenticate directly to the Azure Service Bus namespace or other Azure services, enabling unauthorized message access, data exfiltration, or further lateral movement within the Azure environment (Github PR #61580, Github Advisory).

Indicators of compromise

  • Logs: Airflow task or scheduler logs containing unmasked access_key or connection_string values in plaintext (look for Azure connection string patterns such as Endpoint=sb://...;SharedAccessKeyName=...;SharedAccessKey=...).
  • Logs: Airflow access logs showing repeated or unusual GET requests to /api/v1/connections/ endpoints by low-privilege (Viewer role) accounts.
  • Network: Unexpected API calls to Azure Service Bus namespaces originating from IP addresses not associated with known Airflow worker nodes or authorized clients.
  • Logs: Azure Activity Logs or Service Bus diagnostic logs showing authentication events using access keys from unfamiliar source IPs or at unusual times.

Mitigation and workarounds

The primary remediation is to upgrade Apache Airflow to version 3.1.8 or later (with the full fix in 3.2.0), which adds access_key and connection_string to DEFAULT_SENSITIVE_FIELDS, ensuring these values are automatically redacted in API responses and logs (Github Advisory, Openwall). Organizations that cannot upgrade immediately should restrict Airflow Connection read access to only trusted administrators and audit who currently holds Viewer or higher roles. After upgrading, rotate any Azure Service Bus access keys and connection strings that may have been exposed, and review Airflow logs for any historical plaintext credential exposure.

Community reactions

The vulnerability was credited to finder Saurabh Banawar and disclosed by Apache Airflow maintainer Jarek Potiuk via the oss-security mailing list on April 15, 2026 (Openwall). Airflow contributor amoghrajesh noted in the fix PR that the patch addresses the immediate symptom but that a deeper schema-level fix is needed, as sensitive fields should not be stored in the connection schema in the first place; maintainer potiuk agreed that additional work is warranted (Github PR #61580). The NixOS security tracker also flagged the issue for packaging updates shortly after disclosure.

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
  • airflow-3
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