Apache Airflow权限漏洞:只读用户可访问敏感数据

Apache Airflow 3.0.3版本存在严重安全漏洞CVE-2025-54831,允许只读权限用户通过API和Web界面查看敏感连接信息,包括数据库凭证、云服务密钥等。本文详细分析漏洞原理、影响范围及修复方案。

Apache Airflow漏洞允许只读用户访问敏感数据

Apache Airflow维护人员披露了一个严重安全问题,追踪编号为CVE-2025-54831,该漏洞允许仅持有读取权限的用户通过Airflow API和Web界面查看敏感连接详细信息。

该漏洞存在于Airflow 3.0.3版本中,破坏了平台对连接中秘密信息的预期"只写"处理方式,可能导致凭证和其他秘密配置数据的未授权暴露。

Apache Airflow是一个开源工作流编排平台,广泛用于调度和监控数据管道。随着Airflow 3.0.0的发布,项目为连接对象中的敏感信息引入了更严格的安全模型。在此模型下,密码、令牌和私钥等字段默认应被屏蔽,仅对持有明确连接编辑(写入)权限的用户显示。只读用户仅限于查看非敏感元数据。

然而,Airflow 3.0.3中的实现疏忽无意中允许只读用户检索完整的敏感值。该问题由社区成员Kaxil Naik于2025年9月25日在开发者邮件列表中公开报告,随后被分配了"重要"严重性等级的CVE-2025-54831。

Apache Airflow漏洞详情

在Airflow 3.0.3中,用于检索连接详细信息的API端点和相应的UI视图都绕过了AIRFLOW__CORE__HIDE_SENSITIVE_VAR_CONN_FIELDS配置。启用此标志时,应在JSON响应和UI显示中隐藏密码、主机、端口和自定义额外字段。相反,只读用户可以对/api/v1/connections/{connection_id}进行HTTP GET请求,或在Web界面中导航到连接详细信息页面以明文查看这些字段。

受影响元素包括但不限于:

  • 数据库凭证(用户名、密码)
  • 云提供商访问密钥和秘密
  • SSH私钥
  • 包含API令牌或其他秘密的额外JSON字段数据

由于Airflow连接经常用于存储高权限服务凭证,未经授权的读取访问构成重大风险。具有只读角色的攻击者或内部人员可能窃取服务账户密钥、云凭证或加密密钥,可能危及下游工作负载、数据存储或整个云环境。

潜在影响

虽然该漏洞不允许写入级修改或远程代码执行,但凭证暴露可能促进在受感染环境中的横向移动、权限升级和数据窃取。攻击者可以利用暴露的密钥渗透生产数据库、云服务和秘密存储,而不会触发凭证滥用的标准审计跟踪。

在Airflow中实施严格基于角色的访问控制(RBAC)并向广泛用户授予读取权限的组织面临特别风险。在多租户设置中使用共享或自托管Airflow部署的团队应将该漏洞视为平台保密性保证的重大失误。

受影响版本

  • Apache Airflow (apache-airflow) 3.0.3

Airflow 2.x版本不受影响,因为这些版本未实施新的只写屏蔽模型,并且长期以来设计上允许编辑者查看连接秘密。

缓解措施

Apache Airflow项目已在3.0.4版本中解决了此问题,重新强制执行只写屏蔽行为并恢复对AIRFLOW__CORE__HIDE_SENSITIVE_VAR_CONN_FIELDS配置的尊重。强烈建议所有Airflow 3.0.3用户立即升级:

1
pip install --upgrade apache-airflow>=3.0.4

无法立即应用升级的操作员可以通过在Airflow Web服务器前部署代理或API网关来实现临时解决方法。代理应过滤或屏蔽/api/v1/connections/*端点上的敏感JSON字段。此外,确保在Airflow配置中设置以下环境变量:

1
AIRFLOW__CORE__HIDE_SENSITIVE_VAR_CONN_FIELDS=True

然而,即使设置了此标志,升级到3.0.4仍然是唯一有保证的修复方法。

CVE-2025-54831强调了在工作流编排平台中保护秘密的复杂性。随着Airflow在数据团队中的采用增长,维护服务凭证的机密性变得至关重要。管理员应立即升级到Airflow 3.0.4,审计其RBAC策略,并审查通过暴露连接访问的任何下游系统,以减轻潜在危害。警惕性和及时的补丁管理仍然是防御此类敏感数据暴露的最佳方法。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计