Skip to main content

Apache Airflow EUVDEUVD-2026-57269

| CVE-2026-68970 MEDIUM
Cleartext Storage of Sensitive Information (CWE-312)
2026-08-12 apache GHSA-f3c2-j7g8-vpp8
6.5
CVSS 3.1 · Vendor: apache
Share

Severity by source

Vendor (apache) PRIMARY
6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI
6.5 MEDIUM

Network-accessible via web UI with low complexity, but requires a low-privilege authenticated account; confidentiality impact is High due to exposure of stored secrets, with no integrity or availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

2
Source Code Evidence Fetched
Aug 12, 2026 - 16:15 vuln.today
Analysis Generated
Aug 12, 2026 - 16:15 vuln.today

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 464 pypi packages depend on apache-airflow (431 direct, 37 indirect)

Ecosystem-wide dependent count for version 3.3.1.

DescriptionCVE.org

Apache Airflow's Task SDK did not mask the contents of a Variable whose JSON value is a list, so secrets stored in that shape appeared in cleartext in task logs and in the Rendered Templates UI. Masking was applied only when the deserialized value was a string or a dict; a list at the top level matched neither and was returned unmasked. Any authenticated user able to read the logs or rendered templates of a task that references such a Variable could recover the values, with no special configuration required. This is the list-shaped counterpart of CVE-2026-59244, whose fix covered the dict case only, so deployments that upgraded in response to that advisory remain affected and must upgrade again. Users are advised to upgrade to apache-airflow 3.3.1 or later.

AnalysisAI

Cleartext exposure of list-shaped Variable secrets in Apache Airflow Task SDK (all versions before 3.3.1) allows any authenticated Airflow user to recover sensitive values directly from task execution logs and the Rendered Templates UI. The masking logic in _mask_and_deserialize_variable correctly handled string- and dict-typed JSON Variable values but contained no branch for the list type, so arrays - which may hold passwords, API tokens, or connection strings - were returned unredacted. No public exploit has been identified at time of analysis; however, organizations that patched CVE-2026-59244 remain fully exposed because that fix addressed only the dict case, and must upgrade again to 3.3.1.

Technical ContextAI

Apache Airflow's Task SDK provides a VariableAccessor that retrieves and deserializes runtime Variables - Airflow's key-value store for configuration and secrets. The vulnerable function _mask_and_deserialize_variable in task-sdk/src/airflow/sdk/execution_time/context.py uses type-dispatch to invoke mask_secret: strings and dicts each had their own branch, but when the deserialized JSON value was a Python list, all branches fell through without calling mask_secret, violating CWE-312 (Cleartext Storage of Sensitive Information). The list traversed the system readable to any authenticated user who could view task logs or the Rendered Templates UI. The affected CPE is cpe:2.3:a:apache_software_foundation:apache_airflow:*:*:*:*:*:*:*:* covering all releases up to and excluding 3.3.1. The fix in PR #70891 appends an elif isinstance(val, list) branch calling mask_secret(val, key), binding list elements to the Variable's own key rather than adding them to the global masking pattern set - the identical approach used for dicts in the earlier CVE-2026-59244 patch, which this vulnerability's existence proves was insufficiently generalized.

RemediationAI

The primary and only confirmed fix is to upgrade to apache-airflow 3.3.1 or later, as documented in the Apache advisory at https://lists.apache.org/thread/kkrlnbsk47oght4h38mcd3h2kcb8dt28 and implemented in PR #70891 (https://github.com/apache/airflow/pull/70891). No configuration-level workaround fully mitigates the flaw without modifying code. As a compensating control prior to upgrade, operators should audit all Airflow Variables and restructure any list-typed secrets into dict-typed Variables - for example, wrapping a list in a parent key such as {"items": ["secret1", "secret2"]} - since the dict code path is correctly masked in versions that include the CVE-2026-59244 fix; note this requires corresponding task code changes and thorough testing. Additionally, restrict access to task logs and the Rendered Templates UI using Airflow's role-based access control, granting those permissions only to users with a strict operational need. These compensating controls reduce exposure but do not eliminate it; upgrading to 3.3.1 remains the authoritative remediation.

CVE-2026-33264 CRITICAL
9.8 Jul 07

Remote code execution in Apache Airflow before 3.3.0 lets a DAG author embed a malicious trigger whose attacker-controll

CVE-2026-67587 HIGH
8.8 Aug 12

Unsafe deserialization in Apache Airflow 3.3.0's Task SDK allows an authenticated DAG author to cause arbitrary module i

CVE-2026-58076 HIGH
8.8 Aug 12

Unsafe deserialization in Apache Airflow 3.0.0 through 3.3.0 allows any DAG author to achieve arbitrary code execution i

CVE-2026-33858 HIGH
8.8 Apr 13

Remote code execution in Apache Airflow 3.1.x allows authenticated DAG Authors to execute arbitrary code in the webserve

CVE-2026-30898 HIGH
8.8 Apr 18

Command injection in Apache Airflow's BashOperator documentation example allows authenticated attackers to escalate priv

CVE-2025-54550 HIGH
8.1 Apr 15

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 HIGH
8.1 Mar 17

CVE-2026-30911 is a security vulnerability (CVSS 8.1) that allows any authenticated task instance. High severity vulnera

CVE-2025-66236 HIGH
7.5 Apr 13

Information disclosure in Apache Airflow 3.0.0 through 3.1.x stems from incomplete secret masking and under-documented w

CVE-2026-31987 HIGH
7.5 Apr 16

Apache Airflow 3.0.0 through 3.1.x exposes JWT authentication tokens in application logs, allowing any authenticated UI

CVE-2026-28779 HIGH
7.5 Mar 17

CVE-2026-28779 is a security vulnerability (CVSS 7.5) that allows any application co-hosted under the same domain. High

CVE-2026-30912 HIGH
7.5 Apr 18

Apache Airflow before 3.2.0 exposes SQL exception stack traces through API responses despite api/expose_stack_traces=fal

CVE-2026-32228 HIGH
7.5 Apr 18

Apache Airflow 3.0.x prior to 3.2.0 allows remote unauthenticated attackers to trigger unauthorized DAG (Directed Acycli

Share

EUVD-2026-57269 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy