漏洞概述 CVE ID: CVE-2026-65707 漏洞名称: SQL Injection in adjustAccount via Db::raw() Concatenation 描述: 在 方法中,通过直接字符串拼接未验证的 POST 参数( , , , )构建 SQL 片段,没有进行类型转换、数值验证或参数绑定。通用的 catch 块吞掉了所有异常,并返回不同的成功/失败响应,创建了一个可靠的布尔侧信道用于数据提取。 影响范围 受影响文件: — 函数(参数: , , , ) 测试版本: 3.0.5 影响: 经过身份验证的管理员或商店级别用户可以在 端点注入任意 SQL 表达式到四个参数( , , , )。错误响应的差异(操作成功 / 操作失败)使得可靠地基于布尔值提取任何可访问数据库中的数据成为可能,包括凭证、PII 和会话令牌。影响是持久的;每次请求都会修改目标用户记录或在失败时回滚,无需清理痕迹留给攻击者。 修复方案 在使用 之前将输入参数转换为数值类型,并验证它们是否在预期范围内。 使用带类型提示的原始连接替换。 优先使用参数化 ORM 更新助手,而不是 ,除非算术表达式不需要它。 POC 代码