Update dependency apache-airflow to v3 [SECURITY] - autoclosed#5550
Closed
openverse-bot wants to merge 1 commit intomainfrom
Closed
Update dependency apache-airflow to v3 [SECURITY] - autoclosed#5550openverse-bot wants to merge 1 commit intomainfrom
openverse-bot wants to merge 1 commit intomainfrom
Conversation
8209d48 to
251eede
Compare
251eede to
cca5d9c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==2.10.4->==3.1.7GitHub Vulnerability Alerts
CVE-2026-24098
Impact
Exposure of Sensitive Information:
An information disclosure vulnerability exists in the Apache Airflow UI that allows authenticated users to view
Import Errorsfor DAGs they are not authorized to access.In affected versions, the Import Errors view does not correctly filter errors based on granular DAG permissions. This means a user with access to only
DAG_Acan view import errors generated byDAG_B,DAG_C, or system-level DAGs. These error logs often contain file paths, code snippets, or stack traces that reveal the internal structure and logic of restricted DAGs.Patches
Users should upgrade to Apache Airflow 3.1.7 or later.
This version strictly enforces DAG-level permissions on the Import Errors view.
Workarounds
There are no known workarounds other than upgrading.
Resources
CVE-2025-68675
In Apache Airflow versions before 3.1.6, and 2.11.1 the proxies and proxy fields within a Connection may include proxy URLs containing embedded authentication information. These fields were not treated as sensitive by default and therefore were not automatically masked in log output. As a result, when such connections are rendered or printed to logs, proxy credentials embedded in these fields could be exposed.
Users are recommended to upgrade to 3.1.6 or later for Airflow 3, and 2.11.1 or later for Airflow 2 which fixes this issue.
CVE-2025-65995
When a DAG failed during parsing, Airflow’s error-reporting in the UI could include the full kwargs passed to the operators. If those kwargs contained sensitive values (such as secrets), they might be exposed in the UI tracebacks to authenticated users who had permission to view that DAG.
The issue has been fixed in Airflow 3.1.5rc1 and 2.11.1, and users are strongly advised to upgrade to prevent potential disclosure of sensitive information.
CVE-2024-56373
DAG Author (who already has quite a lot of permissions) could manipulate database of Airflow 2 in the way to execute arbitrary code in the web-server context, which they should normally not be able to do, leading to potentially remote code execution in the context of web-server (server-side) as a result of a user viewing historical task information.
The functionality responsible for that (log template history) has been disabled by default in 2.11.1 and users should upgrade to Airflow 3 if they want to continue to use log template history. They can also manually modify historical log file names if they want to see historical logs that were generated before the last log template change.
CVE-2025-27555
Airflow versions before 2.11.1 have a vulnerability that allows authenticated users with audit log access to see sensitive values in audit logs which they should not see. When sensitive connection parameters were set via airflow CLI, values of those variables appeared in the audit log and were stored unencrypted in the Airflow database. While this risk is limited to users with audit log access, it is recommended to upgrade to Airflow 2.11.1 or a later version, which addresses this issue. Users who previously used the CLI to set connections should manually delete entries with those connection sensitive values from the log table. This is similar but not the same issue as CVE-2024-50378
Release Notes
apache/airflow (apache-airflow)
v3.1.7Compare Source
No significant changes.
Bug Fixes
^^^^^^^^^
TriggerDagRunOperatordeferring whenwait_for_completion=False(#60052)gc.freeze(#60505) (#60845)externalLogUrl(#60412) (#60479)buttongroups(#60298) (#60337)viewportheight (#59660) (#60286)Miscellaneous
^^^^^^^^^^^^^
is_default_poolin Pool model (#61084) (#61128)Taiwaness Mandarin(#61126), Catalan (#61093), German (#61097), Polish (#61099),Arabic (#60635 #60782, (#60635) (#60782)), Spanish (#60775 #60785, (#60775) (#60785)),
Hebrew (#60633 #60686, (#60633) (#60686))
Doc Only Changes
^^^^^^^^^^^^^^^^
v3.1.6Compare Source
Significant Changes
^^^^^^^^^^^^^^^^^^^
is_authorized_hitl_task()method now available in auth managers(#59399).""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This method is now available in auth managers to check whether a user is authorized to approve a HITL task
proxyandproxiesadded toDEFAULT_SENSITIVE_FIELDS(#59688)""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
proxyandproxieshave been added toDEFAULT_SENSITIVE_FIELDSin secrets_masker to treat proxy configurations as sensitive by defaultBug Fixes
^^^^^^^^^
deprecated_optionsentry fordag_file_processor_timeout(#59181) (#60162)ApprovalOperatorwithSimpleAuthManagerwhenall_admins=True(#59399) (#60116)ti_failuremetrics for tasks (#59731) (#59964)TaskInstanceHistoryon schedulerTIresets (#59639) (#59752)proxyandproxiesas sensitive fields inDEFAULT_SENSITIVE_FIELDS(#59688) (#59792)[webserver] base_url(#59659) (#59781)DagRunContext(#59714) (#59732)Content-Typeto request headers in Task SDK calls when missing (#59676) (#59687)_read_from_logs_serverwhen status_code is 403 (#59489) (#59504)run_on_latest_versiondefaulting to False instead of True (#59304) (#59328).airflowignorenegation not working in subfolders (#58740) (#59305)DagRun.queued_atnot updating when clearing (#59066) (#59177)Miscellaneous
^^^^^^^^^^^^^
Doc Only Changes
^^^^^^^^^^^^^^^^
0.3.0(#59538)Taiwanese Mandarin (#59513) (#59515), Hebrew: (#59133) (#59255), Ca: (#59216) (#60199), TR: (#59169) (#60191)]
permalinkicon (#58763)get_template_context(#59023) (#59036)v3.1.5Compare Source
Significant Changes
^^^^^^^^^^^^^^^^^^^
No significant changes.
Bug Fixes
^^^^^^^^^
gc.freeze(#58934)pre-AIP-39DAG runs (#58773)dag.test()(#58266)dayjscorrectly (#57880)endDateis not null (#58435)parseStreamingLogContentfor non-string data (#58399)Miscellaneous
^^^^^^^^^^^^^
.pycand.pyofiles after building Python (#58947)Doc Only Changes
^^^^^^^^^^^^^^^^
v3.1.4Compare Source
v3.1.3Compare Source
Significant Changes
^^^^^^^^^^^^^^^^^^^
Fix Connection & Variable access in API server contexts (plugins, log handlers)(#56583)
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Previously, hooks used in API server contexts (plugins, middlewares, log handlers) would fail with an
ImportErrorfor
SUPERVISOR_COMMS, becauseSUPERVISOR_COMMSonly exists in task runner child processes.This has been fixed by implementing automatic context detection with three separate secrets backend chains:
Context Detection:
SUPERVISOR_COMMSpresence_AIRFLOW_PROCESS_CONTEXT=serverenvironment variableBackend Chains:
EnvironmentVariablesBackend→ExecutionAPISecretsBackend(routes to Execution API via SUPERVISOR_COMMS)EnvironmentVariablesBackend→MetastoreBackend(direct database access)EnvironmentVariablesBackendonly (+ external backends from config like AWS Secrets Manager, Vault)The fallback chain is crucial for supervisor processes (worker-side, before task runner starts) which need to access
external secrets for remote logging setup but should not use
MetastoreBackend(to maintain worker isolation).Architecture Benefits:
MetastoreBackend, maintaining strict isolationImpact:
GCSHook,S3Hooknow work correctly in log handlers and pluginsSee:
#​56120 <https://github.com/apache/airflow/issues/56120>,#​56583 <https://github.com/apache/airflow/issues/56583>,#​51816 <https://github.com/apache/airflow/issues/51816>__Remove insecure dag reports API endpoint that executed user code in API server (#56609)
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
The
/api/v2/dagReportsendpoint has been removed because it loaded user DAG files directly in the API server process,violating Airflow's security architecture. This endpoint was not used in the UI and had no known consumers.
Use the
airflow dags reportCLI command instead for DAG loading reports.Bug Fixes
^^^^^^^^^
healthchecktimeout not respecting worker-timeout CLI option (#57731) (#57854)Miscellaneous
^^^^^^^^^^^^^
Doc Only Changes
^^^^^^^^^^^^^^^^
v3.1.2Compare Source
Significant Changes
^^^^^^^^^^^^^^^^^^^
No significant changes.
Bug Fixes
^^^^^^^^^
DagProcessorManagerfor bundle initialization (#57459)triggering_user_namecontext variable (#56193)ObjectStoragePath(#57156)default_args(#57397)Miscellaneous
^^^^^^^^^^^^^
XComviewer and standardize task instance columns (#57447)retryhttptotenacitylibrary (#56762)Content-Typeheader to Task SDK API requests (#57386)task_display_namealias in event log API responses (#57609)Doc Only Changes
^^^^^^^^^^^^^^^^
instance_namein UI docs (#57523)v3.1.1Compare Source
Significant Changes
^^^^^^^^^^^^^^^^^^^
No significant changes.
Bug Fixes
^^^^^^^^^
dag_run.confduring upgrades from earlier versions (#56729)retry_delayisNone(#56236)generate_run_idnot called for manual triggers (#56699)KeyErrorwhen accessingretry_delayonMappedOperatorwithout explicit value (#56605)task-sdkconnection error handling to matchairflow-corebehavior (#56653)get_ti_countandget_task_statesaccess in callback requests (#56860)ConnectionorVariableaccess in Server context (#56602).airflowignoreorder precedence (#56832)--dag_run_confinairflow dags backfillCLI (#56599)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.