Langflow 敏感认证信息明文存储漏洞总结 漏洞概述 Langflow 的项目管理系统存在两个安全漏洞,导致认证凭据(如 API 密钥)被明文存储: 1. 创建时明文存储:在创建项目时,提供的 (包含 API 密钥)被直接存储在数据库中,绕过了加密逻辑。 2. 加密机制硬编码白名单:加密服务仅对特定的硬编码字段( 和 )进行加密,忽略了其他非标准敏感字段(如 、 ),导致这些字段永久处于明文状态。 影响范围 严重性:高 (High) 数据库泄露:任何对 Langflow 数据库或备份的访问都将暴露所有项目的 API 密钥。 凭据暴露:已认证用户可检索其有权访问的任何项目的明文密钥,即使这些密钥在 UI 中本应被“掩码”处理。 受影响产品:langflow (版本 <= 1.7.0) CWE 分类:CWE-311 (缺少敏感数据的加密), CWE-312 (敏感信息的明文存储) 修复方案 当前状态:页面未提供具体的补丁版本或修复代码,仅指出受影响的代码路径( 和 )。 建议措施**: 1. 确保所有敏感认证信息在存储前均经过加密处理。 2. 修改加密逻辑,使其能够处理用户自定义的敏感字段,而非仅依赖硬编码白名单。 POC 代码 1. 启动 Langflow 2. 创建包含敏感 auth_settings 的项目 3. 检索项目并观察明文存储 4. 观察结果 响应中将包含明文数据: 字段以明文形式返回,而非加密或掩码。