Apache Airflow漏洞致敏感信息泄露:只读用户可获取机密数据
漏洞概况
Apache Airflow 3.0.3 版本存在一个严重安全缺陷(CVE-2025-54831),该漏洞被评定为"重要"级别,会导致仅具备读取权限的用户能够获取敏感连接信息,从根本上破坏了该平台处理工作流连接中敏感数据的安全模型。
Apache Airflow 3.0 版本对连接信息管理方式进行了重大调整,实施了"仅写入"模式,旨在将敏感连接字段的访问权限严格限制在连接编辑用户范围内。这项安全增强措施本应防止未经授权访问存储在Airflow连接中的关键认证信息、数据库凭证和API密钥。
漏洞影响
然而,3.0.3版本的实现存在严重缺陷,导致这些安全改进措施失效。该漏洞使得具有标准READ权限的用户能够通过Airflow API和Web用户界面访问敏感连接信息。
这种信息泄露不受AIRFLOW__CORE__HIDE_SENSITIVE_VAR_CONN_FIELDS
配置设置的影响——该设置本应专门用于向未授权用户屏蔽敏感连接详情。此漏洞实质上使安全配置失效,给依赖Airflow访问控制的组织带来了重大风险。
技术细节
连接访问控制机制缺陷
该漏洞源于Airflow 3.0引入的连接访问控制系统实现不当。当具有READ权限的用户通过/api/v1/connections/{connection_id}
端点查询连接详情,或通过Web UI访问连接界面时,系统会错误地返回本应隐藏的敏感字段,包括密码、令牌和连接字符串。
{"connection_id": "postgres_default","conn_type": "postgres","host": "localhost","login": "airflow","password": "exposed_sensitive_data","schema": "airflow","port": 5432
}
Apache安全分析师在观察到连接处理机制中的异常行为后发现了该漏洞。此漏洞仅影响Apache Airflow 3.0.3版本,较早的Airflow 2.x版本不受影响,因为它们遵循不同的连接处理协议——在这些版本中,向连接编辑者公开敏感信息是文档记录的正常行为。
修复建议
使用Apache Airflow 3.0.3的组织应立即升级至3.0.4或更高版本,以修复此安全漏洞并恢复对敏感连接信息的适当访问控制。