CVE-2025-61679Anyquery是一款构建在SQLite之上的SQL查询引擎,允许用户通过SQL语法查询各种数据源(如GitHub、Notion、邮件等)。CVE-2025-61679是Anyquery 0.4.3及以下版本中存在的一个高危未授权访问漏洞。该漏洞源于Anyquery内置的HTTP服务器在绑定到localhost端口时缺乏有效的身份认证机制。攻击者只要获得了本地机器的访问权限(即使是低权限账户),即可通过本地网络接口直接访问Anyquery的HTTP服务,无需提供任何凭据。更为严重的是,Anyquery作为数据集成工具,通常会存储和代理来自第三方服务的私有集成数据,例如用户的电子邮件、GitHub仓库、Notion文档等敏感信息。攻击者利用此漏洞可以未经授权地访问这些私有数据,获取用户的敏感信息。此外,由于该漏洞不会触发第三方提供商的异地登录告警,攻击行为更加隐蔽,难以被用户及时发现。该漏洞的CVSS评分为7.7,属于高危级别,攻击者需要本地访问权限,但无需认证和用户交互即可利用,对机密性和完整性均造成高影响。Anyquery官方已在0.4.4版本中修复了该问题,建议所有用户尽快升级。
Anyquery作为一个SQL查询引擎,在本地运行时启动一个HTTP服务器以提供查询接口和集成数据访问功能。该HTTP服务器默认绑定在localhost的特定端口上(通常用于本地通信)。然而,在0.4.3及以下版本中,该HTTP服务缺少以下关键安全控制:
1. **缺乏认证机制**:HTTP服务器端点未实现任何身份验证或会话管理,攻击者只需向localhost端口发送HTTP请求即可获得服务访问权限。
2. **本地网络隔离不足**:虽然服务绑定在localhost,但由于本地多用户环境或通过SSH隧道等方式,攻击者仍可从同一台机器或通过本地网络访问该端口。
3. **集成令牌暴露风险**:Anyquery在本地存储了与第三方服务(如GitHub、邮件等)集成的访问令牌和凭据,未授权的攻击者可以通过HTTP接口查询这些数据,间接获取敏感信息。
利用方式:
- 攻击者首先需要获得目标机器的本地shell访问权限(即使是低权限用户)。
- 攻击者通过curl或其他HTTP客户端向Anyquery的本地端口发送请求。
- 由于无需认证,服务器直接返回查询结果,包括从集成的第三方服务获取的私有数据。
- 攻击者可以编写自动化脚本批量提取敏感信息,如用户邮件列表、私有仓库信息等。
修复方案:在0.4.4版本中,Anyquery增加了对HTTP服务器的认证要求,确保只有经过授权的用户才能访问查询接口和集成数据。