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用户立即升级:
|
|
无法立即应用升级的操作员可以通过在Airflow Web服务器前部署代理或API网关来实现临时解决方法。代理应过滤或屏蔽/api/v1/connections/*端点上的敏感JSON字段。此外,确保在Airflow配置中设置以下环境变量:
|
|
然而,即使设置了此标志,升级到3.0.4仍然是唯一有保证的修复方法。
CVE-2025-54831强调了在工作流编排平台中保护秘密的复杂性。随着Airflow在数据团队中的采用增长,维护服务凭证的机密性变得至关重要。管理员应立即升级到Airflow 3.0.4,审计其RBAC策略,并审查通过暴露连接访问的任何下游系统,以减轻潜在危害。警惕性和及时的补丁管理仍然是防御此类敏感数据暴露的最佳方法。