CVE-2026-42360 json
Apache Airflow: Rendered template truncation bypasses nested sensitive-key masking
published 2026-06-01 5 mo ago modified 2026-11-03 6 d ago also BIT-airflow-2026-42360 , EUVD-2026-33590 , GHSA-cg3x-89rc-x9mw , PYSEC-2026-172
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 28%
- public exploits
- 0
- none known
Summary
A bug in Apache Airflow's rendered-template field handling caused nested sensitive-key masking (e.g. nested `password` / `token` / `secret` / `api_key` keys inside a JSON template structure) to be bypassed when the rendered field exceeded `[core] max_templated_field_length`: Airflow stringified the structure before redaction, losing the nested key context, and persisted the plaintext value into `rendered_fields`. An authenticated UI/API user with permission to read rendered template fields could harvest secret values intended to be masked. Affects deployments where Dag authors pass structured JSON to operators with nested sensitive keys. This is a variant of `CWE-200` previously addressed for the user-registered `mask_secret()` patterns in CVE-2025-68438; that fix did not cover the nested sensitive-keyword allowlist. Users who already upgraded for CVE-2025-68438 should additionally upgrade to `apache-airflow` 3.2.2 or later to cover the nested-key path.
Patch / fix
- pypi apache-airflow 3.2.2
- bitnami airflow 3.2.2
- Apache Software Foundation Apache Airflow 3.0.0, 3.2.2
- github.com/apache/airflow#65906 pull request
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 5 mo ago
Exploit prediction
0.35% chance of exploitation in the next 30 days, higher than 28% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
| OSV | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | apache-airflow | <3.2.2 |
3.2.2 |
| bitnami | airflow | <3.2.2 |
3.2.2 |
Affected products
- Apache Software Foundation Apache Airflow
Classification
- Weakness
-
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
References
-
github.com
/apache/airflow/pull/65906
patch, web, issue-tracking
-
lists.apache.org
/thread/obj79bpxnl7r5olz1gsn0g94y88glnl4
vendor-advisory, web, mailing-list, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-42360
advisory, web
-
github.com
/apache/airflow
package
-
github.com
/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-172.yaml
web
-
github.com
/advisories/GHSA-cg3x-89rc-x9mw
advisory
Sources
- CVE List CVE-2026-42360
- GitHub Advisory GHSA-cg3x-89rc-x9mw
- NVD CVE-2026-42360
- OSV BIT-airflow-2026-42360
- OSV PYSEC-2026-172
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.