漏洞概述
SQLBot 是一个基于大语言模型和 RAG(检索增强生成)的智能数据查询系统。在 1.5.0 版本之前,其 /api/v1/datasource/uploadExcel 接口存在身份验证缺失漏洞,允许远程未认证攻击者上传任意 Excel/CSV 文件,并直接向 PostgreSQL 数据库注入数据。该漏洞已在 v1.5.0 中修复,目前无已知临时缓解措施。
漏洞详情
- CVE 编号:CVE-2025-69285
- 漏洞类型:缺少身份验证(CWE-306: Missing Authentication for Critical Function)
- CVSS 评分:7.7(HIGH,高危)
- 影响版本:SQLBot v1.5.0 之前的所有版本
影响范围
所有使用 SQLBot 且版本低于 1.5.0 的部署实例均受此漏洞影响,特别是暴露 /api/v1/datasource/uploadExcel 接口于公网或内网可访问环境的系统。
风险分析
由于该接口被错误地加入身份验证白名单,TokenMiddleware 会跳过所有 Token 验证,导致任何远程攻击者无需认证即可调用该接口。上传的 Excel/CSV 文件由 pandas 解析,并通过 to_sql() 方法以 if_exists=’replace’ 模式写入 PostgreSQL 数据库,可能造成恶意数据覆盖或注入,严重破坏数据完整性,甚至可能被用于进一步攻击(如触发数据库逻辑漏洞或污染下游分析结果)。
修复建议
- 立即升级至 SQLBot v1.5.0 或更高版本,该版本已修复此身份验证绕过问题。
- 目前无官方提供的临时缓解措施,建议在升级前限制对 /api/v1/datasource/uploadExcel 接口的网络访问(如通过防火墙或反向代理进行 IP 白名单控制)。
