关键信息 漏洞名称: Authenticated SQL Injection in API via 'display' parameter 影响版本: <=2.9.4 修复版本: 2.9.5 CVE ID: CVE-2025-65103 CVSS v3 base score: 8.8 / 10 (High) CVSS v3 base metrics: - Attack vector: Network - Attack complexity: Low - Privileges required: Low - User interaction: None - Scope: Unchanged - Confidentiality: High - Integrity: High - Availability: High 弱点: CWE-89 漏洞详情 位置: src/API/Manager.php 文件中的 retrieve() 方法 原因: 未正确验证用户输入的 'display' GET 参数。该代码移除包围的方括号 '[]' 并按逗号分割字符串,然后将每个结果元素直接传递给查询构建器的 selectRaw() 函数。 影响: 任何已认证用户,即使那些权限最低的用户,都可以利用此漏洞来执行任意SQL查询,从而导致数据泄露、数据修改或删除、系统完全被攻陷。 证明概念(PoC) 1. 以任何用户身份登录到 OpenSTAManger 实例。 2. 导航到用户个人资料页面以获得其个人 API 令牌。 3. 使用该 API 令牌向 API 端点发送特制GET请求。示例命令为: 影响 泄露数据库的所有数据。 修改或删除数据,危及数据完整性。 可能实现进一步系统入侵,根据数据库用户的权限和系统配置而定。