Apache Airflow's environment-variable secrets backend resolved a team-scoped Connection or Variable from the wrong team's scope. The guard meant to prevent this only ran when no team scope was supplie
Apache Airflow's environment-variable secrets backend resolved a team-scoped Connection or Variable from the wrong team's scope. The guard meant to prevent this only ran when no team scope was supplied, and its pattern could not match a team name containing an underscore, which team names are allowed to contain. When the guard did not apply, the lookup fell through to an unconditional global read that resolved the stored AIRFLOW_CONN__<TEAM>___<ID> variable regardless of which team asked. In multi-team mode an authenticated user of one team could therefore have POST /api/v2/connections/test resolve another team's Connection and authenticate outward with that team's credentials; the endpoint uses the credentials rather than returning them. Exploitation requires [core] multi_team enabled, [core] test_connection set to Enabled (it ships Disabled), team-scoped secrets provisioned as environment variables in the API-server process, and knowledge of the encoded identifier. Redirecting the test at an attacker-controlled host is separately blocked. Users are advised to upgrade to apache-airflow 3.3.1 or later.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | apache-airflow | < 3.3.1 | 3.3.1 |
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-68076
- https://github.com/apache/airflow/pull/70736
- https://github.com/apache/airflow/pull/70886
- https://github.com/apache/airflow/pull/70902
- https://github.com/apache/airflow/commit/e0cac1f6b2ddd473c9e6440ee0acc32b7b6581fc
- https://github.com/apache/airflow/commit/ed87a1a024a55aaa494e6a718cb876f0cbe47b44
- https://github.com/apache/airflow
- https://github.com/apache/airflow/releases/tag/3.3.1
- https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-3709.yaml
- https://lists.apache.org/thread/v4mc51dgmrc1t82mhzsngsgzo2gxsf2l
- http://www.openwall.com/lists/oss-security/2026/08/12/11
- https://github.com/advisories/GHSA-75mg-c62r-v95g
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L- Weakness (CWE)
CWE-639- Platform
- Python (PyPI)
- Package
apache-airflow- Disclosed
- 12.08.2026
- Updated
- 15.10.2026 18:17
Sources and licenses
OSV / GitHub Advisory Database - PYSEC-2026-3709 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-75mg-c62r-v95g - CC BY 4.0
Vulnerability history: apache-airflow
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 158
- First → latest
- 08.2018 09.2026
- Without a fix
- 4
- Exploited in attacks
- 2
Severity breakdown
- Critical 16
- High 49
- Medium 86
- Low 7
Disclosures per year
- 2018: 1
- 2019: 8
- 2020: 12
- 2021: 5
- 2022: 16
- 2023: 31
- 2024: 18
- 2025: 6
- 2026: 61
-
Apache Airflow's environment-variable secrets backend resolved a team-scoped Connection or Variable from the wrong team's scope. The guard meant to prevent this only ran when no team scope was supplie this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.