Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Network-accessible API requires authenticated low-privilege account with Config read permission; confidentiality impact is high due to plaintext credential exposure; no integrity or availability impact.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
2Blast Radius
ecosystem impact- 4 pypi packages depend on apache-airflow (2 direct, 2 indirect)
Ecosystem-wide dependent count for version 3.3.0.
DescriptionCVE.org
The Config API in Apache Airflow surfaced per-key secrets-backend overrides (environment variables like AIRFLOW__SECRETS__BACKEND_KWARG__SECRET_ID and AIRFLOW__WORKERS__SECRETS_BACKEND_KWARG__SECRET_ID) as synthetic config options whose option names were not in sensitive_config_values, so the masker did not redact them. An authenticated UI/API user with Config read permission could retrieve plaintext secrets-backend credentials (Vault role_id / secret_id, etc.) from the Config API output. Affects deployments that configure secrets backends via per-key environment overrides. Users are advised to upgrade to apache-airflow 3.3.0 or later.
AnalysisAI
Apache Airflow's Config API leaks plaintext secrets-backend credentials to authenticated users with Config read permission, because per-key environment variable overrides (e.g., AIRFLOW__SECRETS__BACKEND_KWARG__SECRET_ID) generate synthetic config entries whose names are absent from the sensitive_config_values masking list. Affected deployments are those that configure secrets backends such as HashiCorp Vault via these per-key environment variable patterns, exposing credentials like Vault role_id and secret_id through normal API responses. No public exploit has been identified at the time of analysis; the vendor-released fix is apache-airflow 3.3.0.
Technical ContextAI
Apache Airflow supports pluggable secrets backends - including HashiCorp Vault - configured through environment variables following the AIRFLOW__<SECTION>__<KEY> naming convention. Per-key override variables such as AIRFLOW__SECRETS__BACKEND_KWARG__SECRET_ID and AIRFLOW__WORKERS__SECRETS_BACKEND_KWARG__SECRET_ID cause the framework to synthesize additional config options at runtime. The root cause (CWE-200: Exposure of Sensitive Information to Unauthorized Actor) is that these dynamically generated option names were never added to Airflow's sensitive_config_values registry, which is the mechanism the Config API uses to decide which values to redact before serving them to callers. Consequently, secrets-backend credentials appear in cleartext in Config API output. The affected product is identified by CPE cpe:2.3:a:apache_software_foundation:apache_airflow:*:*:*:*:*:*:*:*, covering all versions prior to 3.3.0 that support this environment variable convention.
RemediationAI
The primary fix is to upgrade to apache-airflow 3.3.0 or later, which corrects the masking omission so that per-key BACKEND_KWARG environment variable names are included in sensitive_config_values and redacted in Config API output. The upstream code change is available in GitHub PR #67622 (https://github.com/apache/airflow/pull/67622), though the tagged release 3.3.0 is the recommended delivery vehicle. If immediate upgrade is not possible, a compensating control is to revoke Config read permission from all non-administrative Airflow roles and users until the patch can be applied; this removes the permission gate required for exploitation but may impact operators who use the Config API for legitimate diagnostics. A secondary short-term measure is to rotate any Vault role_id and secret_id values that were configured via the affected environment variable pattern, treating them as potentially compromised if any account with Config read access has existed since the variables were set. Consult the Apache advisory at https://lists.apache.org/thread/pq5yy40079h6tzh3fxvw28dd8dbk72hk for additional guidance.
More in Apache Airflow
View allRemote code execution in Apache Airflow before 3.3.0 lets a DAG author embed a malicious trigger whose attacker-controll
Unsafe deserialization in Apache Airflow 3.3.0's Task SDK allows an authenticated DAG author to cause arbitrary module i
Unsafe deserialization in Apache Airflow 3.0.0 through 3.3.0 allows any DAG author to achieve arbitrary code execution i
Remote code execution in Apache Airflow 3.1.x allows authenticated DAG Authors to execute arbitrary code in the webserve
Command injection in Apache Airflow's BashOperator documentation example allows authenticated attackers to escalate priv
We need to produce a JSON object per the instructions. Let's analyze each field. First, product_name: "1-3 words ONLY.
CVE-2026-30911 is a security vulnerability (CVSS 8.1) that allows any authenticated task instance. High severity vulnera
Information disclosure in Apache Airflow 3.0.0 through 3.1.x stems from incomplete secret masking and under-documented w
Apache Airflow 3.0.0 through 3.1.x exposes JWT authentication tokens in application logs, allowing any authenticated UI
CVE-2026-28779 is a security vulnerability (CVSS 7.5) that allows any application co-hosted under the same domain. High
Apache Airflow before 3.2.0 exposes SQL exception stack traces through API responses despite api/expose_stack_traces=fal
Apache Airflow 3.0.x prior to 3.2.0 allows remote unauthenticated attackers to trigger unauthorized DAG (Directed Acycli
Same weakness CWE-200 – Information Exposure
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-42024
GHSA-9933-5rrp-mfwx