OpenSTAManager存在认证SQL注入漏洞(CVE-2025-65103)
漏洞概述
OpenSTAManager中存在一个经过认证的SQL注入漏洞,允许任何用户(无论权限级别如何)通过操纵API请求中的display参数执行任意SQL查询。攻击者可以利用此漏洞泄露、修改或删除数据库中的任何数据,导致系统完全被控制。
技术细节
漏洞位置
该漏洞位于src/API/Manager.php文件中的retrieve()方法。
漏洞原理
用户从display GET参数输入的未经适当验证的处理方式存在问题。代码会去除周围的括号[],按逗号分割字符串,然后将每个生成的元素直接传递到查询构建器的selectRaw()函数中。
|
|
由于selectRaw()设计用于执行原始SQL表达式,因此它会执行在display参数中提供的任何恶意SQL代码。
漏洞验证
复现步骤
- 以任何用户身份登录到OpenSTAManager实例
- 导航到用户的个人资料页面以获取其个人API令牌
- 使用此API令牌向API端点发送特制的GET请求
基于时间的盲注测试
将<your_host>、<your_token>和<resource_name>替换为实际值。anagrafiche是一个有效资源。
|
|
服务器将延迟其响应大约5秒,确认数据库执行了SLEEP(5)命令。
影响分析
这是一个严重的SQL注入漏洞。任何经过认证的用户,即使拥有最低权限,也可以利用此漏洞:
- 从数据库泄露所有数据(例如用户凭据、客户信息、发票、内部数据)
- 修改或删除数据,破坏数据完整性
- 根据数据库用户的权限和系统配置,可能实现进一步的系统控制
受影响版本
- 受影响版本:<= 2.9.4
- 已修复版本:2.9.5
参考信息
- GHSA-2jm2-2p35-rp3j
- https://nvd.nist.gov/vuln/detail/CVE-2025-65103
安全指标
- 严重程度:高
- CVSS评分:8.8
- 弱点类型:CWE-89 SQL注入漏洞