Apache Airflow: Variable masker depth-limit bypass returns cleartext nested secrets
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA and GitHub. Impact type from CWE-200.
Summary
A bug in Apache Airflow's Variable response masker caused nested-key redaction (triggered by secret-suffixed key names like `password`, `token`, `secret`, `api_key`) to be bypassed when the JSON value's nesting depth exceeded the shared secrets masker's recursion limit: the masker returned the original nested item before checking the sensitive key name. An authenticated UI/API user with Variable read permission could harvest plaintext secret values stored under sensitive keys nested deep enough to exceed the masker's depth cap. Affects deployments that store sensitive values inside deeply-nested JSON Variables. This is a residual gap in the fix for CVE-2026-32690 (which covered shallower nesting via `max_depth=1`); the depth-limit boundary itself was not raised, so the same key-name bypass pattern reappears beyond the recursion cap. Users who already upgraded for CVE-2026-32690 should additionally upgrade to `apache-airflow` 3.2.2 or later to cover the deep-nesting path.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA Apache Airflow (Apache Software Foundation) Fixed in 3.0.0
- Fix · CNA Apache Airflow (Apache Software Foundation) Fixed in 3.2.2
- Fix · GHSA-33g2-gx67-c2h3 apache-airflow (PyPI) Fixed in 3.2.2 Advisory →
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
Apache Airflow 3.2.2
17 records Highest priority Priority MEDIUM 3 MEDIUM, 14 LOW
Other records, highest priority first
- TI-2026-30568 Apache Airflow: BashOperator Jinja2 injection via dag_run.conf — low-privilege user patternPriority MEDIUM 47
- TI-2026-36484 Apache Airflow: JWT Token Exposure in KubernetesExecutor Command-Line ArgumentsPriority MEDIUM 41
- TI-2026-30661 Apache Airflow: Authenticated RCE via XCom PATCH endpoint — XComUpdateBody missing FORBIDDEN_XCOM_KEYS validatorPriority MEDIUM 41
- Release ·
Apache Airflow 3.0.0
9 records Highest priority Priority MEDIUM 1 MEDIUM, 8 LOW
Other records, highest priority first
- TI-2026-36484 Apache Airflow: JWT Token Exposure in KubernetesExecutor Command-Line ArgumentsPriority MEDIUM 41
- TI-2026-33151 Apache Airflow: Arbitrary import in custom deadline-reference deserializationPriority LOW 39
- TI-2026-29518 Apache Airflow: Arbitrary File Read via Log Symlink following in FileTaskHandlerPriority LOW 30
Timeline
- 2026-10-02 Threatist record created from CVE-2026-42358
- 2026-10-03 Alias added: GHSA-33g2-gx67-c2h3
- 2026-11-03 Fix available: [email protected], [email protected] · CNA
References
More Apache Airflow vulnerabilities
- TI-2020-10905 Missing authentication in Apache Airflow KEVCVSS 3.1CRITICAL 9.8
- TI-2020-09638 OS command injection in Apache Airflow KEVCVSS 3.1HIGH 8.8
- TI-2022-19017 Apache Airflow <2.4.0 has an RCE in a bash example CVSS 3.1HIGH 8.8
- TI-2021-16140 Apache Airflow: Variable Import endpoint missed authentication check CVSS 3.1CRITICAL 9.8
- TI-2022-08169 Apache Airflow: RCE in example DAGs CVSS 3.1HIGH 8.8
- TI-2024-26776 Apache Airflow: DAG Author Code Execution possibility in airflow-scheduler CVSS 3.1HIGH 8.8
Sources
- CVE-2026-42358 · CVE Program
- CVE-2026-42358 · NVD
- FIRST EPSS
- GHSA-33g2-gx67-c2h3 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences