Quick answers
- Is CVE-2026-68970 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-68970 being exploited in the wild.
- How severe is CVE-2026-68970?
- Medium severity, with a CVSS score of 6.5, published 12 August 2026.
- Which products and versions are affected?
- Apache Airflow before 3.3.1; apache-airflow (PyPI) < 3.3.1, ECOSYSTEM:introduced=0,fixed=3.3.1.
- Is there a fix for CVE-2026-68970?
- Yes. apache-airflow (PyPI): upgrade to 3.3.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-68970 attacked?
- It is attacked over the network.
- Am I affected by CVE-2026-68970?
- Check whether you run Apache Airflow or apache-airflow (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- apache-airflow (PyPI): upgrade to 3.3.1 or later
pip install "apache-airflow>=3.3.1"
Technical details
The vulnerability is a secret masking bypass in Apache Airflow's Task SDK. When a Variable contains a JSON value with a list at the top level, the deserialization logic failed to apply the masking filter (unlike dicts and strings, which were masked). Any authenticated user able to read task logs or the Rendered Templates UI could recover the unmasked secret values. This is the list-shaped counterpart of CVE-2026-59244, which only addressed the dict case, meaning prior upgrades against that CVE are insufficient. Patches are available in Apache Airflow 3.3.1 and later.
Affected products
- Apache Airflow before 3.3.1
Identifiers
- CVE-2026-68970
- BIT-AIRFLOW-2026-68970
- GHSA-f3c2-j7g8-vpp8
- PYSEC-2026-3712
Timeline
- 2026-08-12: disclosed
- 2026-08-04: patched: Fix merged in PR #70891; available in Airflow 3.3.1+