CVE-2026-37505V2Board 在版本 1.7.4 及之前的版本中存在 SQL 注入漏洞。该漏洞位于 `app/Http/Controllers/Admin/UserController.php` 文件中,由于未对用户输入的 `sort` 参数进行充分验证,导致其被直接传递给 `User::orderBy` 方法。经过身份验证的管理员可以利用此漏洞通过 ORDER BY 子句对敏感数据库列(如密码哈希、remember_token)进行排序,从而通过排序分析导致信息泄露,尽管无法直接回显 SQL 查询结果,但侧信道攻击仍可获取敏感信息。
该漏洞的根本原因在于 V2Board 后端的用户排序功能缺乏严格的输入白名单验证。在 `app/Http/Controllers/Admin/UserController.php` 控制器中,程序直接接收前端传递的 `sort` 和 `sortType` 参数,并将其动态拼接到 Laravel 的 Eloquent ORM 查询构建器的 `orderBy` 方法中。尽管使用了 ORM,但在处理动态列名时,Laravel 默认不会对列名进行转义,导致 `orderBy` 子句存在 SQL 注入风险。由于 CVSS 评分显示 `PR:H`(高权限),攻击者必须拥有管理员账户才可利用此漏洞。攻击者无法直接执行 `UNION SELECT` 或通过网络回显获取敏感数据,但可以通过构造恶意的 `sort` 参数(指向 `password`、`remember_token` 等敏感字段),结合布尔盲注或基于时间的侧信道技术。通过观察页面排序结果的顺序变化或响应时间的微小差异,攻击者可以逐字节推断出数据库中的敏感哈希值。这种基于排序的 SQL 注入属于一种特殊的盲注,利用了数据库排序机制来进行信息泄露。