CVE-2025-65995
📋 TL;DR
This vulnerability in Apache Airflow allows authenticated users with DAG view permissions to potentially see sensitive information like secrets when a DAG fails during parsing. The error-reporting UI could expose full operator kwargs containing confidential data. This affects Airflow deployments where sensitive values are passed to operators.
💻 Affected Systems
- Apache Airflow
📦 What is this software?
Airflow by Apache
Airflow by Apache
⚠️ Risk & Real-World Impact
Worst Case
Full exposure of secrets, API keys, database credentials, and other sensitive configuration data to authenticated users, leading to complete system compromise.
Likely Case
Accidental exposure of some sensitive configuration values to authorized users who shouldn't have access to those specific secrets.
If Mitigated
Minimal impact if proper secret management practices are followed (using Airflow connections/variables instead of hardcoded values).
🎯 Exploit Status
Exploitation requires: 1) Authenticated user with DAG view permissions, 2) DAG that fails during parsing, 3) Sensitive values in operator kwargs.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Airflow 2.11.1 or 3.1.4
Vendor Advisory: https://lists.apache.org/thread/1qzlrjo2wmlzs0rrgzgslj2pzkor0dr2
Restart Required: Yes
Instructions:
1. Backup your Airflow deployment. 2. Upgrade to Airflow 2.11.1 (for 2.x series) or 3.1.4 (for 3.x series). 3. Restart Airflow services (webserver, scheduler, workers). 4. Verify the fix by checking version and testing DAG error handling.
🔧 Temporary Workarounds
Disable DAG error traceback display
allConfigure Airflow to not display detailed error tracebacks in UI
Set `expose_config` to `False` in airflow.cfg or via environment variable `AIRFLOW__WEBSERVER__EXPOSE_CONFIG=False`
Restrict DAG view permissions
allLimit which users can view DAGs and their error details
Configure RBAC to restrict DAG read permissions to only necessary users
🧯 If You Can't Patch
- Migrate all sensitive values from operator kwargs to Airflow Connections/Variables
- Implement network segmentation to restrict Airflow UI access to only authorized users
🔍 How to Verify
Check if Vulnerable:
Check Airflow version: if below 2.11.1 (for 2.x) or below 3.1.4 (for 3.x), you are vulnerable.
Check Version:
airflow version
Verify Fix Applied:
After upgrade, verify version is 2.11.1+ or 3.1.4+, and test that DAG parsing errors no longer expose kwargs in UI tracebacks.
📡 Detection & Monitoring
Log Indicators:
- Multiple failed DAG parsing attempts from same user
- Access to error traceback pages containing sensitive patterns
Network Indicators:
- Unusual pattern of DAG view requests followed by error page accesses
SIEM Query:
source="airflow" AND ("DAG parsing failed" OR "Traceback") AND ("password" OR "secret" OR "key" OR "token")