CVE-2026-54183 json
Apache Airflow: Airflow Variables were not masked in the UI for authenticated users
published 2026-08-12 2 mo ago modified 2026-11-03 6 d ago also BIT-airflow-2026-54183 , EUVD-2026-57310 , GHSA-g4qj-5vxv-wggf , PYSEC-2026-3705
- cvss
- 4.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 36%
- public exploits
- 0
- none known
Summary
Apache Airflow's secrets masker hides values stored under sensitive key names when they are displayed in the UI. The masker's recursion-depth limit did not descend into values nested inside a list, tuple, or set beyond that limit, so an Airflow Variable holding such a deeply-nested value was shown unmasked in the Variables UI. The exposure is limited to the UI: any authenticated user who can see the Variable in the UI can already read its full value through the Variables REST API, so this does not disclose data the user could not otherwise obtain — the masking is a shoulder-surfing defense for the UI, not an access-control boundary.
This is an incomplete-fix follow-up to CVE-2026-42358, whose fix made only the dictionary walk unbounded; lists, tuples, and sets beyond the depth limit remained unmasked in the UI. Deployments that applied the CVE-2026-42358 fix should also upgrade to address this residual case. Upgrade to apache-airflow 3.3.1 or later.
Patch / fix
- pypi apache-airflow 3.3.1
- bitnami airflow 3.3.1
- Apache Software Foundation Apache Airflow 3.0.0, 3.3.1
- github.com/apache/airflow@76961a0 commit
- github.com/apache/airflow@fe09e1a commit
- github.com/apache/airflow#68422 pull request
- github.com/apache/airflow/releases/tag/3.3.1 release
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 mo ago
Exploit prediction
0.42% chance of exploitation in the next 30 days, higher than 36% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
| GitHub | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
| CNA | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
| OSV | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | apache-airflow | <3.3.1 |
3.3.1 |
| bitnami | airflow | <3.3.1 |
3.3.1 |
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/68422
patch, web, issue-tracking
-
github.com
/apache/airflow/commit/76961a04633f8e5b72e0042b797266ba650fc47c
web
-
github.com
/apache/airflow/commit/fe09e1a9671cf901785c0d779e942b671a56f422
web
-
lists.apache.org
/thread/z5mrdq6c60f2wyx4cc64cj8nv0dxd9lo
vendor-advisory, web, mailing-list, advisory
-
cve.org
/CVERecord?id=CVE-2026-42358
related, web, mailing-list, third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-54183
advisory, web
-
github.com
/apache/airflow
package
-
github.com
/apache/airflow/releases/tag/3.3.1
web
-
github.com
/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-3705.yaml
web
-
github.com
/advisories/GHSA-g4qj-5vxv-wggf
advisory
Sources
- CVE List CVE-2026-54183
- GitHub Advisory GHSA-g4qj-5vxv-wggf
- NVD CVE-2026-54183
- OSV BIT-airflow-2026-54183
- OSV PYSEC-2026-3705
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.