首页 网络安全 正文

apache-airflow-providers-google漏洞CVE-2026-45361

摘要

栋科技漏洞库关注到 apache-airflow-providers-google 在 22.0.0 之前版本中的SSH主机密钥验证缺失漏洞,追踪为CVE-2026-45361。

apache-airflow-providers-google 是 Apache Airflow 的官方 Google 生态集成插件包,让 Airflow 能直接调度 GCP 及 Google 各类服务。

一、基本情况

Apache Airflow providers-google 是开源工作流编排平台 Apache Airflow 的 Google Cloud 提供者组件,调度GCP/Google服务连接器。

Airflow 2.x 采用Provider 机制,把对外部系统的支持拆成独立包,专门负责连接 Airflow 与 Google 系服务,统一管理GCP连接与鉴权。

apache-airflow-providers-google漏洞CVE-2026-45361

作为 Apache Airflow 谷歌生态集成插件对接谷歌云各类服务,可在调度流程中操作数据库、存储、计算等组件,简化谷歌云任务编排。

栋科技漏洞库关注到 apache-airflow-providers-google 在 22.0.0 之前版本中的SSH主机密钥验证缺失漏洞,追踪为CVE-2026-45361。

二、漏洞分析

CVE-2026-45361漏洞是 Apache Airflow 谷歌组件中的ComputeEngineSSHHook 默认关闭 SSH 主机密钥校验功能而导致的安全漏洞。

漏洞可能导致 Airflow 工作节点与谷歌计算引擎虚拟机之间的 SSH 通信易遭受中间人攻击的潜在风险,攻击者可拦截、篡改会话数据。

ComputeEngineSSHHook的_connect_to_instance方法在providers/google/src/airflow/providers/google/cloud/hooks/compute_ssh.py 

第 313 行硬编码使用 paramiko.AutoAddPolicy() 作为缺失主机密钥策略,

导致 SSH 客户端自动接受并信任任何未知服务器的主机密钥,完全禁用了主机密钥验证功能。

修复版本中通过在 __init__ 方法中新增 host_key_policy 参数,

并调用 _resolve_host_key_policy() 方法将参数解析为具体的 paramiko.MissingHostKeyPolicy 实例,

使用户能够选择拒绝未知主机("reject")或发出警告("warning")而非默认的自动添加策略。

将 paramiko 的主机密钥缺失策略选项新增为 ComputeEngineSSHHook 的构造函数参数,

调用方可按需对 SSH 传输启用严格的主机密钥校验。

该钩子此前硬编码使用 paramiko.AutoAddPolicy,若调用方需要对远端主机进行身份校验,则无法实现。

新增的 host_key_policy 参数支持以下取值:

字符串别名 auto_add、reject、warning,分别对应 paramiko 中匹配的策略类;

自定义的 paramiko.MissingHostKeyPolicy 实例。

调用方若需要从谷歌云实例访客属性、实例元数据中绑定远端主机密钥,可接入动态加载密钥的自定义策略。

参数默认值为 auto_add,保持组件原有行为,现有调用方无需进行迁移适配。

原文中一条注释错误声称主机密钥校验缺失与本地私钥无关,该注释混淆两类问题,现已删除,并补充说明指向新增的构造函数参数。

1、变更文件

providers/google/src/airflow/providers/google/cloud/hooks/compute_ssh.py:

新增 host_key_policy 参数与解析工具方法,并在 _connect_to_instance 方法中应用;移除易产生误导的注释。

providers/google/tests/unit/google/cloud/hooks/test_compute_ssh.py:

新增 TestHostKeyPolicyResolution 测试类,覆盖四类场景:默认配置、字符串别名、自定义实例、未知字符串报错。

2、测试方案

执行命令 uv run --project providers/google pytest providers/google/tests/unit/google/cloud/hooks/test_compute_ssh.py:

全部 22 项用例执行通过。

执行命令 prek run --from-ref upstream/main --stage pre-commit:检查结果无异常。

3、迁移说明

无需迁移。未传入 host_key_policy 参数的调用方,将继续沿用原有的 paramiko 自动添加策略。

三、影响范围

Apache Airflow Google provider < 22.0.0

四、修复建议

Apache Airflow Google provider ≥ 22.0.0

五、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接